数据处理方法、装置及系统与流程

专利2022-06-30  65


本发明涉及数据处理技术领域,更具体地,涉及一种数据处理方法、一种数据处理装置、一种包括至少一个计算装置和至少一个存储装置的系统、及一种可读存储介质。



背景技术:

面向人工智能(artificialintelligence,ai)的数据处理过程中,传统的数据处理方法仅能够管理结构化数据,对于非结构化数据、半结构化数据不能很好的进行管理。而且,对于半结构化数据和非结构化数据,基本没有处理能力。

例如对于图片类的非结构化数据,需要同时能存储图片数据本身,还要能够存储图片的元数据以及标注信息。但是,图片数据、元数据和标注信息都是割裂存储在不同系统中,使用api(applicationprogramminginterface,应用程序接口)进行粘贴在一起。导致在ai处理过程中,图片数据和标注信息需要在不同系统中拉取,不利于统一的进行读取优化、图片的特征分析,导致对图片数据和标注信息进行大规模并行化处理的效率较低。



技术实现要素:

本发明的一个目的是提供一种处理数据的新技术方案。

根据本发明的第一方面,提供了一种数据处理方法,包括:

获取原始数据;

根据所述原始数据的数据类型,将所述原始数据封装成对应的数据容器进行存储;其中,不同的数据类型对应不同类型的数据容器;

基于数据容器提供数据处理服务。

可选的,所述基于数据容器提供数据处理服务包括:

响应于针对指定数据容器执行数据处理的指令,对所述指定数据容器执行至少一个目标操作,得到相应数据处理后的数据;其中,所述至少一个目标操作为所述指定数据容器对应的操作集合中的操作,其中,每个数据容器均有对应的操作集合。

可选的,其中,

对应的操作集合封装在对应的数据容器中;或者,

对应的操作集合在对应的数据容器之外,通过特定关联方式与对应数据容器关联。

可选的,不同类型的数据容器对应不同的操作集合。

可选的,还包括:

将所述处理后的数据封装成新的数据容器;或者,将所述处理后的数据添加至所述指定数据容器中。

可选的,所述响应于针对指定数据容器执行数据处理的指令,对所述指定数据容器执行至少一个目标操作,得到相应数据处理后的数据包括:

响应于所述指令,根据所述指令获取所述指定数据容器的句柄;

根据所述指定数据容器的句柄查找所述指定数据容器;

针对所述指定数据容器执行所述目标操作,得到所述处理后的数据。

可选的,所述原始数据为结构化数据;

所述数据处理方法还包括:

检测针对所述数据容器执行对应的操作策略的事件是否发生;

在所述事件发生的情况下,针对所述数据容器执行对应的操作策略。

可选的,所述操作策略包括以下至少一种:模式推断策略、数据质量检查策略、异常值处理策略、和etl操作策略。

可选的,所述操作策略包括数据质量检查策略,所述数据处理方法还包括:

存储所述数据容器中未通过所述数据质量检查策略的数据。

可选的,所述事件包括以下至少一项:

达到预设的策略执行周期;

接收到执行所述操作策略的指令;

所述数据容器中增加新的数据。

可选的,所述原始数据为非结构化数据;

所述根据所述原始数据的数据类型,将所述原始数据封装成对应的数据容器包括:

根据所述原始数据的数据类型,将所述原始数据封装成对应的数据容器中的文件对象。

可选的,还包括:

将所述数据容器存储在分布式存储系统中。

可选的,所述原始数据中包括图片数据;

所述数据处理方法还包括:

检测所述原始数据中是否包含与所述图片数据对应的图片标注信息;

在所述原始数据中未包含所述图片标注信息的情况下,将所述图片数据上传至标注平台进行标注;

从所述标注平台获取所述图片数据的图片标注信息,并将所述图片标注信息存储至所述图片数据对应的数据容器中。

可选的,还包括:

响应于分区载入所述原始数据的操作,提供用于存储原始数据的多个数据分区;

获取用户选择的至少一个目标数据分区、及每个目标数据分区所对应的原始数据;

所述根据所述原始数据的数据类型,将所述原始数据转换为对应的数据容器之后还包括:

将每个数据容器存储至对应的目标数据分区中。

根据本发明的第二方面,提供了一种数据处理装置,包括:

数据获取模块,用于获取原始数据;

容器封装模块,用于根据所述原始数据的数据类型,将所述原始数据封装成对应的数据容器进行存储;其中,不同的数据类型对应不同类型的数据容器;

数据处理模块,用于基于数据容器提供数据处理服务。

可选的,所述数据处理模块用于:

响应于针对指定数据容器执行数据处理的指令,对所述指定数据容器执行至少一个目标操作,得到相应数据处理后的数据;其中,所述至少一个目标操作为所述指定数据容器对应的操作集合中的操作,其中,每个数据容器均有对应的操作集合。

可选的,对应的操作集合封装在对应的数据容器中;或者,

对应的操作集合在对应的数据容器之外,通过特定关联方式与对应数据容器关联。

可选的,不同类型的数据容器对应不同的操作集合。

可选的,还包括:

用于将所述处理后的数据封装成新的数据容器的模块;或者,用于将所述处理后的数据添加至所述指定数据容器中的模块。

可选的,所述响应于针对指定数据容器执行数据处理的指令,对所述指定数据容器执行至少一个目标操作,得到相应数据处理后的数据包括:

响应于所述指令,根据所述指令获取所述指定数据容器的句柄;

根据所述指定数据容器的句柄查找所述指定数据容器;

针对所述指定数据容器执行所述目标操作,得到所述处理后的数据。

可选的,所述原始数据为结构化数据;

所述数据处理装置还包括:

用于检测针对所述数据容器执行对应的操作策略的事件是否发生的模块;

用于在所述事件发生的情况下,针对所述数据容器执行对应的操作策略的模块。

可选的,所述操作策略包括以下至少一种:模式推断策略、数据质量检查策略、异常值处理策略、和etl操作策略。

可选的,所述操作策略包括数据质量检查策略,所述数据处理装置还包括:

用于存储所述数据容器中未通过所述数据质量检查策略的数据的模块。

可选的,所述事件包括以下至少一项:

达到预设的策略执行周期;

接收到执行所述操作策略的指令;

所述数据容器中增加新的数据。

可选的,所述原始数据为非结构化数据;

所述根据所述原始数据的数据类型,将所述原始数据封装成对应的数据容器包括:

根据所述原始数据的数据类型,将所述原始数据封装成对应的数据容器中的文件对象。

可选的,还包括:

用于将所述数据容器存储在分布式存储系统中的模块。

可选的,所述原始数据中包括图片数据;

所述数据处理装置还包括:

用于检测所述原始数据中是否包含与所述图片数据对应的图片标注信息的模块;

用于在所述原始数据中未包含所述图片标注信息的情况下,将所述图片数据上传至标注平台进行标注的模块;

用于从所述标注平台获取所述图片数据的图片标注信息,并将所述图片标注信息存储至所述图片数据对应的数据容器中的模块。

可选的,还包括:

用于响应于分区载入所述原始数据的操作,提供用于存储原始数据的多个数据分区的模块;

用于获取用户选择的至少一个目标数据分区、及每个目标数据分区所对应的原始数据的模块;

用于将每个数据容器存储至对应的目标数据分区中的模块。

根据本发明的第三方面,提供了一种包括至少一个计算装置和至少一个存储装置的系统,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据本发明第一方面所述的数据处理方法。

根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本发明第一方面所述的数据处理方法。

本发明的一个有益效果在于,通过将原始数据封装为对应的数据容器,并基于数据容器提供数据处理服务,可以实现对各种数据类型的数据的统一管理。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是可用于实现本发明的实施例的电子设备的硬件配置的一个例子的框图。

图2是根据本发明实施例的数据处理方法的流程示意图;

图3~图8是根据本发明实施例的操作界面的示意图;

图9是根据本发明实施例的数据处理装置的方框原理图;

图10是根据本发明实施例的系统的方框原理图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

下面,参照附图描述根据本发明实施例的各个实施例和例子。

<硬件配置>

图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。

电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器cpu、微处理器mcu等。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括usb接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括wifi通信、蓝牙通信、2g/3g/4g/5g通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。

图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项实现数据处理方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

<方法实施例>

在本实施例中,提供一种数据处理方法。该数据处理方法可以是由电子设备实施。该电子设备可以是如图1所示的电子设备1000。

根据图2所示,本实施例的数据处理方法可以包括如下步骤s2100~s2300:

步骤s2100,获取原始数据。

在本发明的一个实施例中,该原始数据可以是结构化数据、半结构化数据或者是非结构化数据。

结构化数据也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。例如数据表就属于结构化数据。

半结构化数据是结构化数据的一种形式,它并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层。因此,它也被称为自描述的结构。半结构化数据,属于同一类实体可以有不同的属性,即使他们被组合在一起,这些属性的顺序并不重要。所谓半结构化数据,就是介于完全结构化数据和完全无结构的数据之间的数据,xml、html文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。而不同的半结构化数据的属性的个数是不一定一样的。

非结构化数据,是没有固定结构的数据。包括文本、图片、图像和音频/视频等数据。

步骤s2200,根据原始数据的数据类型,将原始数据封装成对应的数据容器进行存储。

其中,不同的数据类型可以对应不同类型的数据容器。

在本发明的一个实施例中,数据容器构建于分布式数据库上的具有特定数据存储结构的数据存储单元。

具体的,可以是通过预设的数据处理规则引擎,将原始数据封装成对应类型的数据容器。

在本发明的一个实施例中,结构化数据可以按照数据表和数据组容器的方式进行存储。非结构化数据可以按照文件、图片集、图片组、图数据、视频、音频方式进行存储。人工智能应用构建过程中产生的数据(如模型、报告、实例等)可以支持独立存储。

步骤s2300,基于数据容器提供数据处理服务。

在本发明的一个实施例中,基于数据容器所提供的数据处理服务可以包括:自动特征提取处理、自动机器学习处理、查询语言(querylanguage)处理、fs处理、自动计算机视觉处理、模型处理、搜索处理、图表处理、自动自然语言处理、自学习处理,还可以包括筛选处理、去重处理、和或运算处理、排序处理、插入处理、更新处理、删除处理、连接处理、求平均值处理、求最大值处理、求最小值处理、求和处理、求总数处理、求方差值处理等。

在本发明的实施例中,通过将原始数据封装为对应的数据容器,并基于数据容器提供数据处理服务,可以实现对结构化数据、半结构化数据、非结构化数据的统一管理。

数据容器是构建面向ai数据治理系统的基石。数据容器可以提供自动化的数据处理能力,目的是提高ai应用构建过程中数据etl、数据存储、数据服务阶段的效率,为ai应用提供全流程的数据处理能力。

在本发明的一个实施例中,每个数据容器均有对应的操作集合,以实现对容器数据的统一管理。不同类型的数据容器所对应的操作集合不同。

具体的,每个数据容器对应的操作集合可以是封装在对应的数据容器中,或者,也可以是在对应的数据容器之外,通过特定关联方式与对应的数据容器关联。

该特定方式可以是根据应用场景或具体需求预先选定的方式。例如,可以是采用相同的名称存储(后缀名不同)在相同文件夹下,也可以是预先存储反映数据容器和操作集合之间对应关系的对照表。

在结构化数据的数据容器所对应的操作集合中,可以包括增加操作、删除操作、修改操作、查询操作、筛选操作、去重操作、和或运算操作、排序操作、插入操作、更新操作、删除操作、连接操作、求平均值操作、求最大值操作、求最小值操作、求和操作、求总数操作、求方差值操作、以及数据抽取、清洗、转换、装载等etl操作。结构化数据的数据容器所对应的操作集合中的操作,可以是针对整个数据容器执行,也可以是针对数据容器中的某一行或列来执行。

例如,对于结构化数据表、数据组的数据容器,可以提供标准化的结构化查询语言(structuredquerylanguage,sql)数据操作能力,对外提供jdbc(javadatabaseconnectivity,java数据库连接)/odbc(opendatabaseconnectivity,开放数据库连接)进行数据的查询服务。

jdbc是java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

odbc是为解决异构数据库间的数据共享而产生的,现已成为wosa(thewindowsopensystemarchitecture,windows开放系统体系结构)的主要部分和基于windows环境的一种数据库访问接口标准odbc为异构数据库访问提供统一接口,允许应用程序以sql为数据存取标准,存取不同dbms管理的数据;使应用程序直接操纵db中的数据,免除随db(database,数据库)的改变而改变。用odbc可以访问各类计算机上的db文件,甚至访问如excel表和ascii数据文件这类非数据库对象。

在非结构化数据的数据容器所对应的操作集合中,可以包括针对整个容器的增加操作、删除操作、修改操作、查询操作,还可以包括针对容器的元数据信息、标签、目标值、唯一标识信息等进行搜索和查询的操作,以便于可以在海量的数据容器中快速查找到需要的数据容器。

非结构化数据文件、图片集、图片组、图数据、视频、音频对应的数据容器,可以对外提供分布式的数据分析能力。例如:图片类数据容器支持图像的标注、meta存储与检索,支持对图片的增删改查;图片与文件类数据容器提供python、javaapi可进行灵活的分布式数据处理和分析功能。

人工智能(artificialintelligence,ai)应用构建生成的模型、报告、实例等类型的数据容器,可以支持独立存储以及数据的分析、可视化能力。例如,模型类的数据容器可以提供丰富的模型指标(例如对数损失函数)、auc、模型评估、特征重要性分析、模型结构的查询与可视化。

其中,auc(areaundercurve)被定义为roc曲线(receiveroperatingcharacteristiccurve,接收者操作特征曲线)下的面积。auc是衡量机器学习模型优劣的一种性能指标。

在本发明的一个实施例中,基于数据容器提供数据处理服务可以包括:

响应于针对指定数据容器执行数据处理的指令,对指定数据容器执行至少一个目标操作,得到相应数据处理后的数据。

在本发明的一个实施例中,目标操作为指定数据容器对应的操作集合中的操作。

具体的,针对指定数据容器执行数据处理的指令中,可以包含需要对指定数据所执行的目标操作。对于针对指定数据容器的不同指定中,所包含的目标操作可以相同,也可以不同。

例如,指定数据容器为hive数据表的数据容器,响应于针对指定数据容器执行数据处理的第一指令,可以是对指定数据容器中的hive数据表执行排序操作,得到处理后的数据。再例如,响应于针对指定数据容器执行数据处理的第二指令,可以是对指定数据容器中的hive数据表执行去重操作,得到处理后的数据。

在本发明的一个实施例中,该数据处理方法还可以包括:将处理后的数据转换为新的数据容器;或者,将处理后的数据添加至指定数据容器中。

在将处理后的数据封装成新的数据容器的实施例中,可以是同时存储指定数据容器和新的数据容器。也可以是在得到新的数据容器的情况下,将指定数据容器替换为新的数据容器。

在将处理后的数据添加至指定数据容器中的实施例中,原始数据和对原始数据进行处理后得到的处理后的数据,均封装在指定数据容器中。

本实施例中将处理后的数据也封装为数据容器,可以供其他业务流程或新的数据处理流程进行使用。

在本发明的一个实施例中,响应于针对指定数据容器执行数据处理的指令,对所述指定数据容器执行至少一个目标操作,得到相应数据处理后的数据可以包括:

响应于该指令,根据该指令获取指定数据容器的句柄;根据指定数据容器的句柄查找指定数据容器;针对指定数据容器执行目标操作,得到处理后的数据。

在本实施例中,句柄是一个标识符,可以用于唯一标识对应的数据容器。不同的数据容器的句柄不同。

针对指定数据容器执行数据处理的指令中,可以包含有指定数据容器的句柄,或者,根据该指令可以得到对应的指定数据容器的句柄。

由于句柄和数据容器之间是一一对应的,操作集合中可以包括针对容器的元数据信息、标签、目标值、唯一标识信息等进行搜索和查询的操作,因此,通过指定数据容器的句柄就可以在海量的数据容器中快速查找到指定数据容器,以针对指定数据容器执行目标操作,得到处理后的数据。

进一步地,可以是将多个相同类型的原始数据存储在同一数据容器中。那么,可以根据针对指定数据容器执行数据处理的指令,得到需要进行数据处理的数据的元数据信息,根据该元数据信息,对指定数据容器中对应的数据执行目标操作,得到处理后的数据。

在此基础上,处理后的数据也具有对应的元数据信息。以便于后续对处理后的数据进行进一步处理。

在本发明的一个实施例中,原始数据为结构化数据;那么,该数据处理方法还可以包括:

检测针对数据容器执行对应的操作策略的事件是否发生;在事件发生的情况下,针对数据容器执行对应的操作策略。

具体的,操作策略可以包括以下至少一种:模式推断策略、数据质量检查策略、异常值处理策略、和etl操作策略。

模式推断策略可以是推断数据容器中的数据的模式(schema)。

数据质量检查策略可以是对数据容器中的数据的完备性、一致性、唯一性等进行检查,例如,某些数据行不能为空。

异常值处理策略可以是在预设的异常值处理开关被用户开启时,可进行异常值处理,对异常值进行处理的方式例如可以是舍弃、或者替换成预设值等。

etl操作策略可以是对数据容器中的数据进行筛选、聚合、统计等操作。

在本发明的一个实施例中,针对数据容器执行对应的操作策略的事件可以包括以下至少一项:

达到预设的策略执行周期;

接收到执行操作策略的指令;

数据容器中增加新的数据。

对于每一操作策略,针对数据容器执行对应的操作策略的事件可以相同,也可以不同。

在针对数据容器执行对应的操作策略的事件包括达到预设的策略执行周期的实施例中,该策略执行周期可以是预先根据应用场景或具体需求设定好的。不同操作策略对应的策略执行周期可以相同,也可以不同。例如,数据质量检查策略对应的策略执行周期可以是一天,异常值处理策略对应的策略执行周期可以是一星期。

在针对数据容器执行对应的操作策略的事件包括接收到执行操作策略的指令的实施例中,执行操作策略的指令可以是由用户触发的。具体的,可以是执行本实施例的电子设备提供有用于触发执行操作策略的指令的按钮,用户通过点击该按钮触发执行操作策略的指令。

在针对数据容器执行对应的操作策略的事件包括数据容器中增加新的数据的实施例中,新的数据可以是新载入的原始数据,也可以是对数据容器中的数据进行处理得到的数据。

在操作策略包括数据质量检查策略的情况下,该数据处理方法还可以包括:存储数据容器中未通过数据质量检查策略的数据。

在本发明的一个实施例中,未通过数据质量检查策略的数据可以放入数据导入任务的日志中,以便用户后续进行查看来排查问题。

在本发明的一个实施例中,原始数据为非结构化数据;那么,根据原始数据的数据类型,将原始数据封装成对应的数据容器可以包括:

根据原始数据的数据类型,将原始数据封装成对应的数据容器中的文件对象。

在此基础上,可以是针对数据容器中的文件对象执行增加、删除、修改、查找、搜索、列表等处理。

在本发明的一个实施例中,该数据处理方法还可以包括:

将数据容器存储在分布式存储系统中。

在本实施例中,数据容器会被分布式的存储到分布式存储系统中的多台物理机上,并提供多副本能力,从而保证数据容器的可靠性,不会因为硬件故障而出现数据丢失的情况。

在本发明的一个实施例中,原始数据中包括图片数据;那么,该数据处理方法还可以包括:

检测原始数据中是否包含与图片数据对应的图片标注信息;

在原始数据中未包含图片标注信息的情况下,将图片数据上传至标注平台进行标注;

从标注平台获取图片数据的图片标注信息,并将图片标注信息存储至图片数据对应的数据容器中。

本实施例中通过将图片数据和图片标注信息存储至同一数据容器中,在后续使用该图片数据和对应的图片标注信息时,可以通过对应的数据容器直接获取,便于对图片数据进行大规模并行化处理,能够统一的进行读取优化、特征分析,进而可以提高图片数据和对应的图片标注信息的存储和分析的效率。

在本发明的实施例中,图片类的数据容器可以为整个图像建模以及图像处理提供细粒度的图像数据和图片标注信息的存储、检索、查询等数据服务,因此,业务方可以快速构建图像识别应用,如:ocr(opticalcharacterrecognition,光学字符识别)、人脸识别等。

在本发明的一个实施例中,该数据处理方法还可以包括如下所示的步骤s3100~s3400:

步骤s3100,响应于分区载入原始数据的操作,提供用于存储原始数据的多个数据分区。

在本发明的一个实施例中,执行本发明实施例的电子设备可以是先提供操作界面,该操作界面中提供有多种数据类型,用户可以在该操作界面中选择需要载入的数据类型。响应于用户选择需要载入的数据类型的操作,在操作界面中提供对应数据类型的载入方式。

例如,在用户选择的需要载入的数据类型为结构化数据的情况下,在操作界面中提供对应数据类型的载入方式可以是如图3a所示,包括本地上传(支持csv、tsv、txt、parquet、orc格式)、从ftp导入(支持csv、tsv、txt格式)、从hdfs导入(支持csv、tsv、txt、parquet、orc格式)、从hdfs浅拷贝(支持parquet格式)、从数据库导入(支持oracle、mysql、teradata、vertica等数据库)、从hive导入(支持simpleauth或kerberos认证)。

例如,在用户选择的需要载入的数据类型为结构化数据的情况下,在操作界面中提供对应数据类型的载入方式可以是如图3a所示,包括本地上传(支持csv、tsv、txt、parquet、orc格式)、从ftp导入(支持csv、tsv、txt格式)、从hdfs导入(支持csv、tsv、txt、parquet、orc格式)、从hdfs浅拷贝(支持parquet格式)、从数据库导入(支持oracle、mysql、teradata、vertica等数据库)、从hive导入(支持simpleauth或kerberos认证)。

再例如,在用户选择的需要载入的数据类型为图片的情况下,在操作界面中提供对应数据类型的载入方式可以是如图3b所示,包括上传压缩包(支持png、jpg、bmp,压缩为zip、tar、tar.gz)、从ftp导入压缩包(支持png、jpg、bmp,压缩为zip、tar、tar.gz)、从hdfs导入压缩包(支持png、jpg、bmp,压缩为zip、tar、tar.gz)。

再例如,在用户选择的需要载入的数据类型为文件的情况下,在操作界面中提供对应数据类型的载入方式可以是如图3c所示,包括本地上传、从ftp导入、从hdfs导入。在本地上传的方式下,用户可以把数据文件拖拽至指定位置或选择“点击上传”按钮,文件的大小不超过设定值(可以预先根据应用场景或具体需求设定,例如可以是1g),支持zip、tar或tar.gz文件在线解压。

操作界面中还可以提供“连接数据库”的按钮,在用户在操作界面中选择对应数据类型的载入方式,并载入原始数据的情况下,可以点击该“连接数据库”的按钮,操作界面可以是如图4所示,提供用于分区筛选的“选择分区”按钮。响应于用户点击该按钮的操作,提供用于存储原始数据的多个数据分区,如图5所示。

步骤s3200,获取用户选择的至少一个目标数据分区、及每个目标数据分区所对应的原始数据。

用户可以通过如图5所示的操作界面中所提供的多个数据分区中,选取用于存储载入的原始数据的目标数据分区、及每个目标数据分区中所对应的原始数据。具体的,可以是在如图5中的左侧页面中提供存储原始数据的多个数据分区,在右侧页面中提供用户选取的目标数据分区。

在本发明的一个实施例中,左侧页面和右侧页面中都可以实现灵活的搜索功能,以供用户通过左侧页面中的搜索框搜索提供的数据分区,通过右侧页面中的搜索框搜索已选择的目标数据分区。

在本发明的一个实施例中,由于提供的数据分区的数目较大,如果一次性加载全部数据分区,会造成显示效果不足。因此,在左侧页面中可以采取分页显示的方式,每次只加载当前页面的数据分区即可。

在本发明的一个实施例中,可以是将左侧页面数据被存储在数据库中,而右侧页面数据被存储在内存中,以确保显示效果。

在选择好目标数据分区之后,用户可以点击图5中提供的“确定”按钮。响应于点击“确定”按钮的操作,执行本实施例的电子设备可以是提供如图6所示的操作界面。提供用户已选择的目标数据分区的数量、及“编辑分区”的按钮。如果用户点击该“编辑分区”的按钮,可以返回至如图5所示的操作界面中,供用户对已选择的目标数据分区进行编辑,包括增加、删除目标数据分区。

在根据原始数据的数据类型,将原始数据转换为对应的数据容器之后还包括:步骤s3300,将每个数据容器存储至对应的目标数据分区中。

在本发明的一个实施例中,在原始数据为数据表的情况下,用户在选择分区完成之后,可以选择导入数据表容器,之后进入数据表容器管理界面即可查询此数据容器。

在原始数据载入成功之后,可以对对应的容器进行查询。例如,对数据表容器查询的结果可以是如图7所示。

在本发明的一个实施例中,还可以使用sql进行数据表容器的查询,查询结果例如可以是如图8所示。

<装置实施例>

在本实施例中,提供一种数据处理装置3000,如图9所示,包括数据获取模块3100、容器封装模块3200和数据处理模块3300。该数据获取模块3100用于获取原始数据;该容器封装模块3200用于根据原始数据的数据类型,将原始数据封装成对应的数据容器进行存储;其中,不同的数据类型对应不同类型的数据容器;该数据处理模块3300用于基于数据容器提供数据处理服务。

在本发明的一个实施例中,数据处理模块3300还可以用于:

响应于针对指定数据容器执行数据处理的指令,对指定数据容器执行至少一个目标操作,得到相应数据处理后的数据;其中,至少一个目标操作为指定数据容器对应的操作集合中的操作,其中,每个数据容器均有对应的操作集合。

在本发明的一个实施例中,对应的操作集合封装在对应的数据容器中;或者,

对应的操作集合在对应的数据容器之外,通过特定关联方式与对应数据容器关联。

在本发明的一个实施例中,不同类型的数据容器对应不同的操作集合。

在本发明的一个实施例中,该数据处理装置3000还可以包括:

用于将处理后的数据封装成新的数据容器的模块;或者,用于将处理后的数据添加至指定数据容器中的模块。

在本发明的一个实施例中,响应于针对指定数据容器执行数据处理的指令,对指定数据容器执行至少一个目标操作,得到相应数据处理后的数据包括:

响应于指令,根据指令获取指定数据容器的句柄;

根据指定数据容器的句柄查找指定数据容器;

针对指定数据容器执行目标操作,得到处理后的数据。

在本发明的一个实施例中,原始数据为结构化数据;数据处理装置该数据处理装置3000还可以包括:

用于检测针对数据容器执行对应的操作策略的事件是否发生的模块;

用于在该事件发生的情况下,针对数据容器执行对应的操作策略的模块。

在本发明的一个实施例中,操作策略包括以下至少一种:模式推断策略、数据质量检查策略、异常值处理策略、和etl操作策略。

在本发明的一个实施例中,操作策略包括数据质量检查策略,数据处理装置该数据处理装置3000还可以包括:

用于存储数据容器中未通过数据质量检查策略的数据的模块。

在本发明的一个实施例中,该事件包括以下至少一项:

达到预设的策略执行周期;

接收到执行操作策略的指令;

数据容器中增加新的数据。

在本发明的一个实施例中,原始数据为非结构化数据;根据原始数据的数据类型,将原始数据封装成对应的数据容器包括:

根据原始数据的数据类型,将原始数据封装成对应的数据容器中的文件对象。

在本发明的一个实施例中,该数据处理装置3000还可以包括:

用于将数据容器存储在分布式存储系统中的模块。

在本发明的一个实施例中,原始数据中包括图片数据;

数据处理装置该数据处理装置3000还可以包括:

用于检测原始数据中是否包含与图片数据对应的图片标注信息的模块;

用于在原始数据中未包含图片标注信息的情况下,将图片数据上传至标注平台进行标注的模块;

用于从标注平台获取图片数据的图片标注信息,并将图片标注信息存储至图片数据对应的数据容器中的模块。

在本发明的一个实施例中,该数据处理装置3000还可以包括:

用于响应于分区载入原始数据的操作,提供用于存储原始数据的多个数据分区的模块;

用于获取用户选择的至少一个目标数据分区、及每个目标数据分区所对应的原始数据的模块;

用于将每个数据容器存储至对应的目标数据分区中的模块。

本领域技术人员应当明白,可以通过各种方式来实现该数据处理装置3000。例如,可以通过指令配置处理器来实现该数据处理装置3000。例如,可以将指令存储在rom中,并且当启动设备时,将指令从rom读取到可编程器件中来实现该数据处理装置3000。例如,可以将该数据处理装置3000固化到专用器件(例如asic)中。可以将该数据处理装置3000分成相互独立的单元,或者可以将它们合并在一起实现。该数据处理装置3000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。

在本实施例中,该数据处理装置3000可以具有多种实现形式,例如,该数据处理装置3000可以是任何的提供数据处理服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。

<系统实施例>

在本实施例中,如图4所示,还提供一种至少一个计算装置4100和至少一个存储装置4200的系统4000。该至少一个存储装置4200用于存储可执行的指令;该指令用于控制至少一个计算装置4100执行根据本发明任意实施例的数据处理方法。

在本实施例中,该系统4000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等设备,也可以是由多个设备构成的分布式系统。

<计算机可读存储介质>

在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本发明任意实施例的数据处理方法。

本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。


技术特征:

1.一种数据处理方法,包括:

获取原始数据;

根据所述原始数据的数据类型,将所述原始数据封装成对应的数据容器进行存储;其中,不同的数据类型对应不同类型的数据容器;

基于数据容器提供数据处理服务。

2.根据权利要求1所述的数据处理方法,其中,所述基于数据容器提供数据处理服务包括:

响应于针对指定数据容器执行数据处理的指令,对所述指定数据容器执行至少一个目标操作,得到相应数据处理后的数据;其中,所述至少一个目标操作为所述指定数据容器对应的操作集合中的操作,其中,每个数据容器均有对应的操作集合。

3.根据权利要求2所述的数据处理方法,其中,

对应的操作集合封装在对应的数据容器中;或者,

对应的操作集合在对应的数据容器之外,通过特定关联方式与对应数据容器关联。

4.根据权利要求1所述的数据处理方法,不同类型的数据容器对应不同的操作集合。

5.根据权利要求1所述的数据处理方法,还包括:

将所述处理后的数据封装成新的数据容器;或者,将所述处理后的数据添加至所述指定数据容器中。

6.根据权利要求1所述的数据处理方法,所述响应于针对指定数据容器执行数据处理的指令,对所述指定数据容器执行至少一个目标操作,得到相应数据处理后的数据包括:

响应于所述指令,根据所述指令获取所述指定数据容器的句柄;

根据所述指定数据容器的句柄查找所述指定数据容器;

针对所述指定数据容器执行所述目标操作,得到所述处理后的数据。

7.根据权利要求1所述的数据处理方法,所述原始数据为结构化数据;

所述数据处理方法还包括:

检测针对所述数据容器执行对应的操作策略的事件是否发生;

在所述事件发生的情况下,针对所述数据容器执行对应的操作策略。

8.一种数据处理装置,包括:

数据获取模块,用于获取原始数据;

容器封装模块,用于根据所述原始数据的数据类型,将所述原始数据封装成对应的数据容器进行存储;其中,不同的数据类型对应不同类型的数据容器;

数据处理模块,用于基于数据容器提供数据处理服务。

9.一种包括至少一个计算装置和至少一个存储装置的系统,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据权利要求1至7中任一项所述的数据处理方法。

10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法。

技术总结
本发明提供了一种数据处理方法、装置及系统,该数据处理方法包括:获取原始数据;根据原始数据的数据类型,将原始数据封装成对应的数据容器进行存储;其中,不同的数据类型对应不同类型的数据容器;基于数据容器提供数据处理服务。

技术研发人员:许江;白杨
受保护的技术使用者:第四范式(北京)技术有限公司
技术研发日:2020.01.08
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-57075.html

最新回复(0)