掌桥专利:专业的专利平台
掌桥专利
首页

数据处理方法、装置、电子设备及计算机可读存储介质

文献发布时间:2023-06-19 11:26:00


数据处理方法、装置、电子设备及计算机可读存储介质

技术领域

本发明涉及通信技术领域,尤其涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。

背景技术

一般而言,数据开发主要包括数据ETL和数据展现两部分;其中,ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。目前,在进行数据的ETL处理时,一般需要人工选择如何进行ETL处理,而人工选择往往具有很强的主观性,这样会导致ETL处理的处理效果较差。

发明内容

本发明实施例提供一种数据处理方法、装置、电子设备及计算机可读存储介质,以解决现有技术中进行ETL处理时,处理效果差的问题。

为了解决上述技术问题,本发明是这样实现的:

第一方面,本发明实施例提供一种数据处理方法,应用于电子设备,包括:

获得待进行ETL处理的第一数据的数据属性信息;

将所述数据属性信息输入策略确定模型,获得由所述策略确定模型输出的ETL策略;

按照所述ETL策略,对所述第一数据进行萃取和转置处理,以得到第二数据,并将所述第二数据存储至目标数据库中。

第二方面,本发明实施例提供一种数据处理装置,应用于电子设备,包括:

第一获取模块,用于获得待进行ETL处理的第一数据的数据属性信息;

第二获取模块,用于将所述数据属性信息输入策略确定模型,获得由所述策略确定模型输出的ETL策略;

第一处理模块,用于按照所述ETL策略,对所述第一数据进行萃取和转置处理,以得到第二数据,并将所述第二数据存储至目标数据库中。

第三方面,本发明实施例提供一种电子设备,包括处理器,存储器,存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述数据处理方法的步骤。

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

本发明实施例中,针对待进行ETL处理的第一数据,可以将其的数据属性信息输入策略确定模型,以获得由策略确定模型输出的ETL策略。由于策略确定模型通过对大量的样本数据进行训练得到,策略确定模型输出的ETL策略的客观性和准确性都能够得到较好地保证,策略确定模型输出的ETL策略可以是用于进行第一数据的ETL处理的最优ETL策略。这样,按照策略确定模型输出的ETL策略,对第一数据进行ETL处理,处理效果能够得到非常有效地保证,例如,数据的存储性能和查询性能均能够得到保证。可见,与现有技术相比,本发明实施例中,基于数据属性信息和策略确定模型,能够提高进行数据的ETL处理时的处理效果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。

图1是本发明实施例提供的数据处理方法的流程图;

图2是本发明实施例提供的数据处理方法的又一流程图;

图3是本发明实施例提供的数据处理装置的结构框图;

图4是本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。

参见图1,图中示出了本发明实施例提供的数据处理方法的流程图。该方法可以应用于电子设备,电子设备包括但不限于服务器、计算机系统等,如图1所示,该方法可以包括如下步骤:

步骤101,获得待进行ETL处理的第一数据的数据属性信息。

需要说明的是,第一数据可以为待进行ETL处理的任意数据,第一数据中的“第一”并不构成对第一数据的任何限定,第一数据的数据属性信息既可以通过触控输入方式、键盘输入方式等进行输入,也可以是电子设备对第一数据进行智能分析后得到的。

具体地,第一数据的数据属性信息可以包括以下至少一项:

第一数据的数据量;

第一数据的数据格式;

第一数据的数据查询方式;

第一数据的源数据库。

这里,第一数据的数据量可以表征第一数据的具体数据量,例如表征第一数据具体为200M、500M、800M等;或者,第一数据的数据量可以表征第一数据的数据量级别,例如用于表征第一数据具体为KB级别、MB级别、GB级别等。

第一数据的数据格式可以描述第一数据保存在文件或记录中的规则,其既可以是字符形式的文本格式,也可以是二进制数据形式的压缩格式。

第一数据的数据查询方式可以用第一数据的数据查询类型进行表征,例如:在第一数据为视频数据的情况下,数据查询方式可以表征查询第一数据任意时间范围内的分天播放量数据,或者,数据查询方式可以表征查询第一数据在最近一段时间(例如最近一个月)内的总播放数据。

第一数据的源数据库是指原本存储第一数据的数据库。

步骤102,将数据属性信息输入策略确定模型,获得由策略确定模型输出的ETL策略。

需要说明的是,策略确定模型可以为设备S通过对大量的样本数据进行训练后得到的,用于为数据确定最优ETL策略的模型。具体地,设备S可以为电子设备,电子设备可以将自身训练好的策略确定模型存储在本地;或者,设备S可以为不同于电子设备的设备,设备S可以将自身训练好的策略确定模型分发给电子设备,电子设备可以将来自设备S的策略确定模型存储在本地。

容易看出,无论设备S是否为电子设备,电子设备本地均能够存储有策略确定模型。那么,在步骤102中,电子设备可以直接将第一数据的数据属性信息输入本地存储的策略确定模型,以获得策略确定模型输出的ETL策略,即获得用于进行第一数据的ETL处理的最优ETL策略。具体地,获得的ETL策略包括但不限于ETL处理框架、数据萃取方式、数据转置方式、数据加载方式、目标数据库等。

需要说明的是,目前进行数据的ETL处理时,常用的ETL处理框架主要包括:Spark、Flink、MapReduce、HiveSQL、Java。具体地,Spark是一种大数据计算框架,其是一种基于内存计算的框架;Flink是一款分布式计算引擎,它可以用来做批处理,即处理静态的数据集、历史的数据集,也可以用来做流处理,即实时地处理一些实时数据流,实时地产生数据的结果;MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,Map指映射,Reduce指归约;Java是一门面向对象编程语言。

另外,目前进行数据的ETL处理时,常用的目标数据库(即经ETL处理后得到的数据所在的数据库)主要有:Druid、Kylin、MySQL。具体地,Druid是一种高效的数据查询系统,主要用于对大量的基于时序的数据进行聚合查询;Kylin是提供亚秒级查询的一种大数据平台;MySQL是一种关系型数据库管理系统。

那么,步骤102获得的ETL策略中可以包括Spark、Flink、MapReduce、HiveSQL、Java中的,与第一数据的数据属性信息适配的一个ETL处理框架;步骤102获得的ETL策略中可以包括Druid、Kylin、MySQL中的,与第一数据的数据属性信息适配的一个目标数据库。

步骤103,按照ETL策略,对第一数据进行萃取和转置处理,以得到第二数据,并将第二数据存储至目标数据库中。

这里,可以利用步骤102中获得的ETL策略,通过Oozie Workflow调度ETL过程,以实现对第一数据的ETL处理;其中,Oozie Workflow是一种工作流调度引擎。具体地,可以按照ETL策略中的ETL处理框架,对第一数据进行萃取和转置处理,并且,可以将萃取和转置处理后得到的第二数据存储至ETL策略中的目标数据库。

本发明实施例中,针对待进行ETL处理的第一数据,可以将其的数据属性信息输入策略确定模型,以获得由策略确定模型输出的ETL策略。由于策略确定模型通过对大量的样本数据进行训练得到,策略确定模型输出的ETL策略的客观性和准确性都能够得到较好地保证,策略确定模型输出的ETL策略可以是用于进行第一数据的ETL处理的最优ETL策略。这样,按照策略确定模型输出的ETL策略,对第一数据进行ETL处理,处理效果能够得到非常有效地保证,例如,数据的存储性能和查询性能均能够得到保证。可见,与现有技术相比,本发明实施例中,基于数据属性信息和策略确定模型,能够提高进行数据的ETL处理时的处理效果。

可选地,策略确定模型可以为:以数据的数据属性信息作为输入内容,以数据进行ETL处理时使用的ETL策略作为输出内容,以随机森林算法作为训练算法进行训练得到的模型。

可以理解的是,随机森林算法是指利用多棵决策树对样本进行训练并预测的一种算法,也就是说,随机森林算法是一个包含多个决策树的算法,其输出的类别由个别决策树输出的类别的众树来决定。

这里,可以预先获得大量的样本数据,例如预先获得多个数据集,每个数据集中均包括一数据的数据属性信息,以及人工为该数据选择的最优ETL策略。接下来,可以将预先获得的多个数据集提供给设备S,设备S可以将这些数据集分为三组,分别为训练组、验证组和测试组,之后可以使用训练组和随机森林算法进行训练,以确定策略确定模型中的特征参数,将验证组接入该模型,并使用测试组检查被验证的模型的表现,基于检查结果,对特征参数进行优化调整,从而便捷可靠地得到最终的策略确定模型。

当然,进行模型训练时使用的算法并不局限于随机森林算法,具体算法可以根据实际情况来确定,在此不再一一列举。

可选地,将第二数据存储至目标数据库中之后,该方法还包括:

接收指向第二数据的第一查询请求;

响应于第一查询请求,获取目标数据库中的第二数据;

输出第二数据。

这里,指向第二数据的第一查询请求为所请求数据为第二数据的查询请求,第一查询请求可以通过语音输入方式、触控输入方式或者键盘输入方式等进行输入。

在接收到第一查询请求的情况下,可以响应于第一查询请求,获取目标数据库中的第二数据,并输出第二数据。具体地,电子设备可以包括显示屏,电子设备可以直接在显示屏上显示第二数据,以实现第二数据的输出;或者,电子设备可以将第二数据发送至输入第一查询请求的用户的电子邮箱,以实现第二数据的输出。

可见,本实施例中,可以根据用户的查询请求,进行相应数据的输出,以满足用户的查询需求。

可选地,响应于第一查询请求,获取目标数据库中的第二数据,包括:

根据目标数据库对应的转换配置信息,将第一查询请求转换为目标数据库能够识别的第二查询请求;

向目标数据库发送第二查询请求;

接收目标数据库响应于第二查询请求返回的第二数据。

需要说明的是,电子设备的配置信息中可以预先存储数据库与转换配置策略之间的对应关系;其中,任一数据库对应的转换配置策略可以用于描述该数据库能够识别的查询语句是何种形式。

这里,电子设备可以为计算机系统,这时电子设备可以包括前端,电子设备可以通过前端接收第一查询请求,接下来,电子设备可以根据配置信息中的对应关系,确定策略确定模型输出的ETL策略中的目标数据库所对应的转换配置策略。之后,电子设备可以根据确定出的转换配置策略,对第一查询请求中的字段进行转换,并利用nodejs对转换后得到的所有字段进行拼接,以得到第二查询请求,这样,第二查询请求中能够携带该目标数据库能够识别的查询语句,例如sql语句。

另外,可以预先存储每个可能的目标数据库的标识信息,例如IP地址。在得到第二查询请求之后,电子设备可以根据策略确定模型输出的ETL策略中的目标数据库的IP地址,将第二查询请求发送至该目标数据库处。

下面以一个具体的例子,对本实施例的具体实施过程进行说明。

一般而言,MySQL的时间列字段可以随意定义,比如字段名字为dt,而Druid的时间列字段必须为__time字段,那么,在配置信息中,MySQL对应的转换配置策略可以规定MySQL的时间列字段为dt,Druid对应的转换配置策略可以规定Druid的时间列字段为__time。

假设同一份数据在MySQL和Druid中均进行了存储,Druid的dataSource为druid_datasource(其指标为vv),MySQL的数据表名叫mysql_table(其指标为vv),若第一查询请求为查询2019-01-01这一天的vv之和,则根据Druid对应的转换配置策略,对第一查询请求进行转化,得到的Druid能够识别的第二查询请求中的查询语句可以为:select sum(vv)from druid_datasource where__time=TIMESTAMP'2019-01-01 00:00:00';根据MySQL对应的转换配置策略,对第一查询请求进行转换,得到的MySQL能够识别的第二查询请求中的查询语句可以为:select sum(vv)from mysql_table where dt=’2019-01-01’。

可见,本实施例中,电子设备可以通过前端接收查询请求,并利用相应的转换配置信息,将查询请求转换为目标数据库能够识别的形式,这样能够保证目标数据库对查询请求的识别。并且,整个查询过程可以依赖前端和配置信息,而不依赖后端程序,那么,在每次有数据需要进行ETL处理时(即有新数据接入时),无需另外开发该数据的查询接口(即新的后端程序),从而能够降低ETL处理的处理成本。

可选地,将第二数据存储至目标数据库中之后,该方法还包括:

获取目标数据库中的第二数据;

对第二数据进行格式化处理;

输出经格式化处理后的第二数据。

这里,可以在接收到指向第二数据的第一查询请求的情况下,从目标数据库中获取第二数据,并对第二数据进行格式化处理。

具体地,对第二数据进行格式化处理,包括:

确定第二数据中第一数据类型的数据;其中,第一数据类型位于预设的,数据类型和格式转换策略之间的对应关系中;

利用对应关系记录的,第一数据类型对应的第一格式转换策略,对第二数据中第一数据类型的数据进行格式转换。

需要说明的是,电子设备可以存储有预设的数据类型和格式转换策略之间的对应关系,具体地,该对应关系中,数据类型1可以与格式转换策略1对应,数据类型2可以与格式转换策略2对应,数据类型3可以与格式转换策略3对应。

在从目标数据库中获取到第二数据之后,电子设备可以对第二数据进行遍历,以确定第二数据中是否存在数据类型1的数据、数据类型2的数据或者数据类型3的数据。假设第二数据中存在数据类型1的数据以及数据类型2的数据,那么,电子设备可以利用格式转换策略1,对第二数据中数据类型1的数据进行转换,并利用格式转换策略2,对第二数据中数据类型2的数据进行转换,以得到经转换后的第二数据,经转换后的第二数据可以作为经格式化处理后的第二数据。

具体地,数据类型1可以为视频数据播放量,格式转换策略1可以为转换为千分位形式,那么,假设第二数据中存在的视频数据播放量为100000,利用格式转换策略1对100000转换后得到的为100,000。数据类型2可以为视频播放收视率同时段占比,格式转换策略2可以为转换为百分位形式,那么,假设第二数据中存在的视频播放收视率同时段占比为0.083,利用格式转换策略2对0.083转换后得到的为8.3%。

在格式化处理完成后,电子设备可以通过显示屏显示、发送电子邮件等方式,输出经格式化处理后的第二数据,以满足输入第一查询请求的用户的查询需求。

可见,本实施例中,第二数据可以经格式化处理后再提供给用户,这样能够方便用户进行数据查阅。

下面结合图2,以一个具体的例子,对本实施例的具体实施过程进行详细说明。

如图2所示,首先可以收集影响ETL实现方式及落地存储的因素;其中,ETL实现方式可以认为是ETL处理框架,落地存储可以认为是ETL的目标数据库。接下来,可以构建训练样本,训练样本中包括大量的样本数据,这时,可以采用随机森林算法进行模型训练,以得到策略确定模型。

之后,对于新接入的数据(例如上文中的第一数据),可以依据策略确定模型选择ETL实现方式及落地存储,并配置实现逻辑及落地存储,这时,OozieWorkflow可以调度ETL,数据落地至db,该db即为依据策略确定模型选择的落地存储,即选择的目标数据库。

需要说明的是,可以预先配置前端页面查询数据的sql及查询的存储和连接信息,即配置上文中数据库与转换配置信息之间的对应关系,以及上文中各目标数据库的IP地址。在接收到查询请求(例如上文中的第一查询请求)时,nodejs可以拼接sql和发送查询请求(例如上文中的第二查询请求),相应地,db能够返回查询结果,电子设备的前端页面能够格式化数据(即进行数据的格式化处理),之后,前端页面可以展现数据。

综上,本实施例能够采用人工智能的方式选择ETL处理,不同数据展现基于配置,新数据接入无需开发接口,极大的降低了开发接口和选择ETL处理策略的工作量,从而降低成本。

参见图3,图中示出了本发明实施例提供的数据处理装置300的结构框图。数据处理装置300应用于电子设备,如图3所示,数据处理装置300包括:

第一获取模块301,用于获得待进行ETL处理的第一数据的数据属性信息;

第二获取模块302,用于将数据属性信息输入策略确定模型,获得由策略确定模型输出的ETL策略;

第一处理模块303,用于按照ETL策略,对第一数据进行萃取和转置处理,以得到第二数据,并将第二数据存储至目标数据库中。

可选地,数据处理装置300还包括:

接收模块,用于在将第二数据存储至目标数据库中之后,接收指向第二数据的第一查询请求;

第三获取模块,用于响应于第一查询请求,获取目标数据库中的第二数据;

第一输出模块,用于输出第二数据。

可选地,第三获取模块,包括:

第一转换单元,用于根据目标数据库对应的转换配置信息,将第一查询请求转换为目标数据库能够识别的第二查询请求;

发送单元,用于向目标数据库发送第二查询请求;

接收单元,用于接收目标数据库响应于第二查询请求返回的第二数据。

可选地,数据处理装置300还包括:

第四获取模块,用于在将第二数据存储至目标数据库中之后,获取目标数据库中的第二数据;

第二处理模块,用于对第二数据进行格式化处理;

第二输出模块,用于输出经格式化处理后的第二数据。

可选地,第二处理模块,包括:

确定单元,用于确定第二数据中第一数据类型的数据;其中,第一数据类型位于预设的,数据类型和格式转换策略之间的对应关系中;

第二转换单元,用于利用对应关系记录的,第一数据类型对应的第一格式转换策略,对第二数据中第一数据类型的数据进行格式转换。

可选地,第一数据的数据属性信息包括以下至少一项:

第一数据的数据量;

第一数据的数据格式;

第一数据的数据查询方式;

第一数据的源数据库。

本发明实施例中,针对待进行ETL处理的第一数据,可以将其的数据属性信息输入策略确定模型,以获得由策略确定模型输出的ETL策略。由于策略确定模型通过对大量的样本数据进行训练得到,策略确定模型输出的ETL策略的客观性和准确性都能够得到较好地保证,策略确定模型输出的ETL策略可以是用于进行第一数据的ETL处理的最优ETL策略。这样,按照策略确定模型输出的ETL策略,对第一数据进行ETL处理,处理效果能够得到非常有效地保证,例如,数据的存储性能和查询性能均能够得到保证。可见,与现有技术相比,本发明实施例中,基于数据属性信息和策略确定模型,能够提高进行数据的ETL处理时的处理效果。

参见图4,图中示出了本发明实施例提供的电子设备400的结构示意图。如图4所示,电子设备400包括:处理器401、存储器403、用户接口404和总线接口。

处理器401,用于读取存储器403中的程序,执行下列过程:

获得待进行ETL处理的第一数据的数据属性信息;

将数据属性信息输入策略确定模型,获得由策略确定模型输出的ETL策略;

按照ETL策略,对第一数据进行萃取和转置处理,以得到第二数据,并将第二数据存储至目标数据库中。

在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器401代表的一个或多个处理器和存储器403代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。针对不同的用户设备,用户接口404还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。

处理器401负责管理总线架构和通常的处理,存储器403可以存储处理器401在执行操作时所使用的数据。

可选地,处理器401,还用于:

在将第二数据存储至目标数据库中之后,接收指向第二数据的第一查询请求;

响应于第一查询请求,获取目标数据库中的第二数据;

输出第二数据。

可选地,处理器401,具体用于:

根据目标数据库对应的转换配置信息,将第一查询请求转换为目标数据库能够识别的第二查询请求;

向目标数据库发送第二查询请求;

接收目标数据库响应于第二查询请求返回的第二数据。

可选地,处理器401,还用于:

在将第二数据存储至目标数据库中之后,获取目标数据库中的第二数据;

对第二数据进行格式化处理;

输出经格式化处理后的第二数据。

可选地,处理器401,具体用于:

确定第二数据中第一数据类型的数据;其中,第一数据类型位于预设的,数据类型和格式转换策略之间的对应关系中;

利用对应关系记录的,第一数据类型对应的第一格式转换策略,对第二数据中第一数据类型的数据进行格式转换。

可选地,第一数据的数据属性信息包括以下至少一项:

第一数据的数据量;

第一数据的数据格式;

第一数据的数据查询方式;

第一数据的源数据库。

可选地,策略确定模型为:以数据的数据属性信息作为输入内容,以数据进行ETL处理时使用的ETL策略作为输出内容,以随机森林算法作为训练算法进行训练得到的模型。

本发明实施例中,针对待进行ETL处理的第一数据,可以将其的数据属性信息输入策略确定模型,以获得由策略确定模型输出的ETL策略。由于策略确定模型通过对大量的样本数据进行训练得到,策略确定模型输出的ETL策略的客观性和准确性都能够得到较好地保证,策略确定模型输出的ETL策略可以是用于进行第一数据的ETL处理的最优ETL策略。这样,按照策略确定模型输出的ETL策略,对第一数据进行ETL处理,处理效果能够得到非常有效地保证,例如,数据的存储性能和查询性能均能够得到保证。可见,与现有技术相比,本发明实施例中,基于数据属性信息和策略确定模型,能够提高进行数据的ETL处理时的处理效果。

优选地,本发明实施例还提供一种电子设备,包括处理器401,存储器403,存储在存储器403上并可在所述处理器401上运行的计算机程序,该计算机程序被处理器401执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

相关技术
  • 数据处理方法及装置、电子设备和计算机可读存储介质
  • 数据处理方法和装置、计算机可读存储介质和电子设备
技术分类

06120112923209