一种数据分析方法、装置和系统与流程

文档序号:25038496发布日期:2021-05-11 17:11阅读:80来源:国知局
一种数据分析方法、装置和系统与流程

本发明涉及计算机领域,尤其涉及一种数据分析方法、装置和系统。



背景技术:

随着移动互联网、云计算、物联网等信息技术的快速发展,越来越多的数据被生产出来,整个信息行业加速进入了“大数据”时代。与此同时,数据的价值受到越来越多企业的关注,并成为越来越多企业的财富。一般业务场景下,数据从oltp(on-linetransactionprocessing,在线事务处理)系统中产生之后,由olap(onlineanalyticalprocessing,在线分析处理)系统进一步分析数据,挖掘其价值。

olap系统进行数据分析的原理为:从不同的数据源中读取各种结构的数据(extract),之后对数据进行一系列的加工、处理、汇总(transform)后,把处理结果存储到不同的数据库中(load),并且提供查询接口。上述过程中,olap系统需针对各个不同的分析处理任务定制开发数据源读取、数据加工处理以及结果存储等各个功能模块,而且其采用定期迭代的方式,对增量数据进行处理。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

定制开发的方式导致系统代码不能复用,而且存在重复开发,开发效率低,浪费人力资源;采用定期迭代的方式处理增量数据,灵活性差、时延高,不能满足对实时性有要求的业务场景。



技术实现要素:

有鉴于此,本发明实施例提供一种数据分析方法、装置和系统,通过获取包含业务逻辑代码的业务逻辑脚本,从指定的数据源中获取业务数据,之后调用计算器集实现对业务数据的加工处理,使得系统代码可以复用,开发效率高。

为实现上述目的,根据本发明实施例的一个方面,提供了一种数据分析方法。

本发明实施例的一种数据分析方法,包括:获取预先为数据分析任务编写的业务逻辑脚本;其中,所述业务逻辑脚本包括数据源参数信息和业务逻辑代码;执行所述业务逻辑代码的数据提取逻辑,以从所述数据源参数信息指定的数据源中获取业务数据;执行所述业务逻辑代码的数据处理逻辑,以调用所述数据处理逻辑中设定的计算器集,对所述业务数据进行数据加工处理。

可选地,所述数据源参数信息包括数据源参数元组,所述数据源参数元组包括数据源基本信息和数据读取指令;从所述数据源参数信息指定的数据源中获取业务数据,包括:根据所述数据源基本信息,与对应的数据源建立连接;执行所述数据读取指令,以从所述数据源中获取业务数据。

可选地,所述计算器集中包括用于数据加工处理的单一职责的计算器,所述计算器将所述业务数据或者所述业务数据的加工处理结果作为入参,对所述入参进行加工处理后,返回所述入参的加工处理结果。

可选地,所述数据分析任务为物品问答数据的聚类任务,所述业务数据为所述物品问答数据,所述计算器集包括分词计算器、相似度计算器和聚类计算器;调用所述数据处理逻辑中设定的计算器集,对所述业务数据进行数据加工处理,包括:调用所述分词计算器,对所述物品问答数据进行分词,得到分词结果;调用所述相似度计算器,对所述分词结果中同一物品的分词记录进行相似度计算,得到相似度计算结果;调用所述聚类计算器,以基于所述相似度计算结果,对所述物品问答数据进行聚类。

可选地,所述数据源参数信息包括参数标识;从所述数据源参数信息指定的数据源中获取业务数据,包括:根据所述参数标识,获取对应的数据源参数元组;其中,所述数据源参数元组包括数据源基本信息和数据读取指令;根据所述数据源基本信息,与对应的数据源建立连接;执行所述数据读取指令,以从所述数据源中获取业务数据。

可选地,所述方法还包括:接收数据源配置信息,为所述数据源配置信息的数据源参数元组生成对应的参数标识;其中,所述数据源配置信息包括数据源类型和所述数据源类型对应的数据源参数元组。

可选地,所述业务数据包括存量数据和/或增量数据,所述增量数据通过订阅业务系统的消息队列的方式,存储到数据源组件。

为实现上述目的,根据本发明实施例的另一方面,提供了一种数据分析装置。

本发明实施例的一种数据分析装置,包括:脚本获取模块,用于获取预先为数据分析任务编写的业务逻辑脚本;其中,所述业务逻辑脚本包括数据源参数信息和业务逻辑代码;数据获取模块,用于执行所述业务逻辑代码的数据提取逻辑,以从所述数据源参数信息指定的数据源中获取业务数据;数据处理模块,用于执行所述业务逻辑代码的数据处理逻辑,以调用所述数据处理逻辑中设定的计算器集,对所述业务数据进行数据加工处理。

可选地,所述数据源参数信息包括数据源参数元组,所述数据源参数元组包括数据源基本信息和数据读取指令;所述数据获取模块,还用于:根据所述数据源基本信息,与对应的数据源建立连接;执行所述数据读取指令,以从所述数据源中获取业务数据。

可选地,所述计算器集中包括用于数据加工处理的单一职责的计算器,所述计算器将所述业务数据或者所述业务数据的加工处理结果作为入参,对所述入参进行加工处理后,返回所述入参的加工处理结果。

可选地,所述数据分析任务为物品问答数据的聚类任务,所述业务数据为所述物品问答数据,所述计算器集包括分词计算器、相似度计算器和聚类计算器;所述数据处理模块,还用于:调用所述分词计算器,对所述物品问答数据进行分词,得到分词结果;调用所述相似度计算器,对所述分词结果中同一物品的分词记录进行相似度计算,得到相似度计算结果;调用所述聚类计算器,以基于所述相似度计算结果,对所述物品问答数据进行聚类。

可选地,所述数据源参数信息包括参数标识;所述数据获取模块,还用于:根据所述参数标识,获取对应的数据源参数元组;其中,所述数据源参数元组包括数据源基本信息和数据读取指令;根据所述数据源基本信息,与对应的数据源建立连接;执行所述数据读取指令,以从所述数据源中获取业务数据。

可选地,所述装置还包括:接收生成模块,用于接收数据源配置信息,为所述数据源配置信息的数据源参数元组生成对应的参数标识;其中,所述数据源配置信息包括数据源类型和所述数据源类型对应的数据源参数元组。

可选地,所述业务数据包括存量数据和/或增量数据,所述增量数据通过订阅业务系统的消息队列的方式,存储到数据源组件。

为实现上述目的,根据本发明实施例的另一方面,提供了一种数据分析系统。

本发明实施例的一种数据分析系统,包括:管理后台,用于将为数据分析任务编写的业务逻辑脚本发送至组装器组件;其中,所述业务逻辑脚本包括数据源参数信息和业务逻辑代码;所述组装器组件,用于执行所述业务逻辑代码的数据提取逻辑,以发送数据获取请求至数据源组件;还用于执行所述业务逻辑代码的数据处理逻辑,以发送计算器调用请求至计算器组件;所述数据源组件,用于接收所述数据获取请求,从所述数据获取请求指定的数据源中获取业务数据,将所述业务数据发送至所述组装器组件;所述计算器组件,用于接收所述计算器调用请求,调用所述计算器调用请求中指定的计算器集,对所述业务数据进行数据加工处理。

可选地,所述计算器组件,还用于:将加工处理结果发送至所述组装器组件,以由所述组装器组件把所述加工处理结果存储至所述数据源组件;所述系统还包括:检索系统,用于根据数据查询条件,从所述数据源组件中检索所述加工处理结果。

为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。

本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种数据分析方法。

为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质。

本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种数据分析方法。

上述发明中的一个实施例具有如下优点或有益效果:通过获取包含业务逻辑代码的业务逻辑脚本,从指定的数据源中获取业务数据,之后调用计算器集实现对业务数据的加工处理,使得系统代码可以复用,开发效率高;预先梳理出获取数据需要的参数,进而实现数据提取逻辑,实现了数据提取逻辑的复用;预先构建单一职责的用于数据加工处理的计算器,进而实现数据处理逻辑,实现了数据处理逻辑的复用;通过预先构建的分词计算器、相似度计算器和聚类计算器,实现了物品问答数据的聚类任务,开发效率高,节约人力资源;为数据源参数元组生成参数标识,使得后续仅需指定参数标识就可以实现业务数据的获取;通过订阅业务系统的消息队列的方式,实现了增量数据的实时处理;通过抽象出组装器组件、数据源组件、计算器组件实现系统复用,通过在管理后台提交业务逻辑脚本的方式,实现平台侧零开发量;数据使用方通过检索系统查询数据,无需直接访问数据库,使得系统对数据使用方更加友好易用。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是现有技术的olap系统进行数据分析的实现原理示意图;

图2是现有技术的olap系统进行数据分析的实现流程示意图;

图3是根据本发明实施例的数据分析方法的主要步骤的示意图;

图4是根据本发明实施例的数据分析方法的系统结构示意图;

图5是使用本发明实施例的数据分析方法进行物品问答数据的聚类任务的实现原理示意图;

图6是根据本发明实施例的数据分析方法的主要流程的示意图;

图7为根据本发明实施例的数据分析方法的配置数据源的时序图;

图8为根据本发明实施例的数据分析方法的处理存量数据的时序图;

图9为根据本发明实施例的数据分析方法用于olap系统的实现架构图;

图10是根据本发明实施例的数据分析装置的主要模块的示意图;

图11是本发明实施例可以应用于其中的示例性系统架构图;

图12是适用于来实现本发明实施例的电子设备的计算机装置的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1是现有技术的olap系统进行数据分析的实现原理示意图。如图1所示,一个企业中,不同的业务系统产生的数据结构多样,比如物品数据、用户数据、用户生成内容(ugc,usergeneratedcontent),并存储在不同的数据库中。

olap系统从不同的数据源中读取各种结构的数据(extract),之后对数据进行一系列的加工、处理、汇总(transform)后,把处理结果存储到不同的数据库中(load)。后续可以利用数据库中存储的数据进行数据挖掘(datamining)、数据可视化(datavisualization)、生成报告(reports)、生成仪表板(dashboards)、报警(alerts)等。

图2是现有技术的olap系统进行数据分析的实现流程示意图。如图2所示,olap系统从数据库、云服务、应用系统、airflow中读取数据,对不同数据源的数据对应进行数据质量检测、数据转换&数据清洗等处理后,把处理结果对应存储到消息队列、数据仓库、数据库等中。图2中,应用系统可以是安卓系统、苹果系统。airflow是一个工作量调度器。kafka是一种高吞吐量的分布式发布订阅消息系统。数据备份可以通过s3(simplestorageservice,简单存储服务)实现。

上述过程中,脚本读取、数据质量检测、数据转换&数据清洗、路由&模式检测(router&schemadetecter)、脚本写入等环节都需要根据具体分析任务定制开发脚本。对于增量数据,采用定期迭代的方式,重新启动分析任务进行处理。这种“定制+增量迭代”的处理方式,一方面系统代码不能复用,重复开发导致低效率的交付以及人力的浪费;另一方面,采用定期迭代的方式处理增量数据灵活性差,时延高,不能满足对实时性有要求的业务场景。

本发明实施例为了解决现有技术的上述问题,对现有olap系统设计方案进行了优化,通过抽象出职责单一的三大组件和管理后台,最大限度地实现了olap系统的复用以及增量数据的实时处理。

图3是根据本发明实施例的数据分析方法的主要步骤的示意图。如图3所示,本发明实施例的数据分析方法,主要包括如下步骤:

步骤s301:获取预先为数据分析任务编写的业务逻辑脚本。其中,所述业务逻辑脚本包括:数据源参数信息和业务逻辑代码。数据源参数信息可以是数据源参数元组,也可以是数据源参数元组对应的参数标识。业务逻辑代码包括:数据提取逻辑和数据处理逻辑。数据提取逻辑用于根据数据源参数信息,从对应的数据源中获取业务数据。数据处理逻辑用于设定数据分析任务需要的计算器集,以调用该计算器集对业务数据进行数据加工处理。

步骤s302:执行所述业务逻辑代码的数据提取逻辑,以从所述数据源参数信息指定的数据源中获取业务数据。若数据源参数信息为数据源参数元组,该数据源参数元组包括数据源基本信息和数据读取指令,则根据数据源基本信息与对应的数据源建立连接;之后执行数据读取指令,以从该数据源中获取业务数据。若数据源参数信息为参数标识,则首先根据参数标识,获取对应的数据源参数元组;之后再按照上述方式获取业务数据。

步骤s303:执行所述业务逻辑代码的数据处理逻辑,以调用所述数据处理逻辑中设定的计算器集,对所述业务数据进行数据加工处理。计算器集中包括用于数据加工处理的单一职责的计算器,该计算器将业务数据或者业务数据的加工处理结果作为入参,对入参进行加工处理后,返回入参的加工处理结果。执行数据处理逻辑,以调用计算器集中的计算器,进而对业务数据进行数据清洗、数据转换、数据校验等数据加工处理。

图4是根据本发明实施例的数据分析方法的系统结构示意图。如图4所示,本发明实施例的数据分析系统,主要包括:数据源组件(datasource)、计算器组件(calculator)、组装器组件(assembler)和管理后台(admin)。其中,datasource和calculator是可以复用的组件。图4中bdp是一个大数据存储、查询平台。

datasource:多个数据分析任务可以复用,封装对数据库的访问,提供标准的接口供assembler获取业务数据。不同业务系统的业务数据存储在各种不同的数据库中,比如mysql、redis、hbase、elasticsearch、mongodb、mq等。虽然数据库种类多样,但对于每种特定的数据库而言,其访问方式是固定的。故可以预先根据数据源类型定义数据源参数元组,实现业务数据读取。例如访问mysql,指定数据源参数元组(ip,user,password,database,sql)就能读取业务数据。再比如访问redis,则指定数据源参数元组(ip,port,user,password,key,command)来读取业务数据。

实施例中,业务数据包括存量数据和/或增量数据。此处的存量数据和增量数据以参考时间划分,参考时间之前的生成的数据为存量数据,参考时间之后生成的数据为增量数据。比如,olap系统的上线时间点是t,在t之前,业务系统(比如商品评价系统)已经产生了很多数据,这些已经存在的数据为存量数据。t以后产生的新数据为增量数据。

实施例中,datasource提供两种传递数据源参数元组的方式,一种是assembler调用datasource时作为方法参数提供;另一种是在admin后台预先录入,assembler调用时指定参数标识即可。另外,datasource通过订阅业务系统的消息队列(messagequeue,mq)的方式,使得业务系统可以通过mq实时将增量数据发送至olap系统,实现增量数据的实时处理。

calculator:多个数据分析任务可以复用,对应现有olap系统的数据清洗&加工功能,供assembler调用,完全独立于业务。对于一个新的数据分析任务,若现有的calculator不能满足需求,需要根据任务需求事先开发与业务没有耦合的可复用的calculator。每个calculator实例都是一个可完全复用的职责单一的数据加工厂,比如分词、情感分析、人脸识别、asr(automaticspeechrecognition,自动语音识别)、tts(texttospeech,从文本到语音)等。

calculator的方法接受数据作为入参(与业务无关),处理后返回结果。比如分词计算器的入参为文本,出参为词条。再比如asr计算器的入参为音频,输出为文本字符串。分词计算器、asr计算器均在多个数据分析任务中可用,比如分词计算器在评价文本处理任务可以用,问答任务也可以用。assembler调用多个calculator完成数据加工处理。

assembler:是整个数据分析系统的调度中枢,通过datasource读取业务数据,然后调用calculator对数据进行清洗加工,最后再调用datasource把结果数据存储起来。assembler可以理解为数据分析任务的业务逻辑层,因此对于每个任务,都需要定制开发各自的assembler处理逻辑。

对于一个新数据分析任务,assembler是唯一需要开发的部分(如果现有calculator不满足需求,也需要增加开发新的calculator)。对于一个数据分析任务,其业务逻辑有两种实现方式:一种是在assembler工程中定制开发任务的业务逻辑脚本。另一种是在admin后台提交任务的assembler脚本。

图5是使用本发明实施例的数据分析方法进行物品问答数据的聚类任务的实现原理示意图。如图5所示,assembler调用datasource读取问答系统的物品问答数据,然后把分词、相似度计算、聚类几个calculator组合起来使用,以完成聚类任务。具体实现如下:

(1)分词:assembler调用datasource从数据集市(比如bdp数据库)获取所有物品问答数据,然后调用分词calculator对文本分词,并通过datasource把词条记录保存到hbase数据库,记录结构:{“sku”,”原文”,”词条结果”}。

(2)相似度计算:assembler调用datasource从hbase获取词条数据,然后调用相似度计算calculator对每个物品(sku)下所有词条记录两两配对进行相似得分计算,每对词条得到一个相似度结果(比如得分score);最后调用datasource把相似度结果保存到es数据库。

(3)聚类:assembler调用datasource读取相似度结果,调用聚类calculator对每个sku下的问答数据进行聚类。比如sku=123是某款洗衣机,下面有问题[“这款洗衣机声音大吗”,“洗的干净吗”“声音吵不吵”,“洗衣服效果怎么样”],id假设为1、2、3、4,聚类结果[{1,3},{2,4}]。

在一优选的实施例中,在使用分词calculator对物品问答数据进行处理之前,还可以使用嵌入(embedding)calculator对物品问答数据进行处理。具体实现为:assembler通过datasource从数据集市获取所有物品问答数据,调用embeddingcalculator进行模型训练,产生embedding模型及背景数据,调用datasource保存到文本数据库。

admin:是实现数据分析系统平台侧零开发量的关键。admin作为用户与数据分析系统交互的可视化界面,admin后台提供丰富的功能。用户可以通过admin提交数据源参数元组、查看目前支持的数据库类型、查看现有的计算器、提交任务的assembler程序脚本、管理任务启动/停止、查看任务状态(如进度)等。

在本发明一优选的实施例中,本发明实施例的数据分析系统,还包括:检索系统(search)。该系统提供结果数据的查询入口,依赖datasource。search系统包括soa(service-orientedarchitecture,面向服务的结构)和admin两个模块。soa为封装了查询接口的一个服务端应用,通过http等方式对外暴露接口,主要供使用方研发人员调用。admin作为数据查询后台界面,提供简单的查询条件,数据使用方可以通过它检索数据分析系统的数据处理结果。所有数据使用方通过search查询数据,而不是直接访问数据库,search既能起到数据库的作用,同时使系统对使用方更友好易用。

图6是根据本发明实施例的数据分析方法的主要流程的示意图。如图6所示,本发明实施例的数据分析方法,主要包括如下步骤:

步骤s601:管理后台接收用户提交的数据源参数信息,配置数据源组件。用户配置数据源,需要指定数据库类型,并提供数据源参数元组,然后提交保存至管理后台。管理后台为数据源参数元组生成一个参数标识(id),用户可以在管理后台查看参数标识、数据源参数元组。

步骤s602:管理后台接收用户提交的为数据分析任务编写的业务逻辑脚本。业务逻辑脚本可以在assembler工程中定制开发,也可以由管理后台提交。

步骤s603:管理后台启动数据分析任务。

步骤s604:组装器组件从所述数据源参数信息指定的数据源中获取业务数据。根据数据源基本信息与对应的数据源建立连接;之后执行数据读取指令,以从该数据源中获取业务数据。

步骤s605:组装器组件调用所述数据处理逻辑中设定的计算器集,对所述业务数据进行数据加工处理。调用计算器集中的计算器,进而对业务数据进行数据清洗、数据转换、数据校验等数据加工处理。

步骤s606:组装器组件调用数据源组件保存数据加工处理结果。组装器组件将数据加工处理结果存储到数据源组件。

图7为根据本发明实施例的数据分析方法的配置数据源的时序图。如图7所示,用户配置数据源后发送至管理后台,管理后台生成数据源实例后发送至数据源组件,数据源组件校验配置的数据源所提供的参数是否可以正常连接数据库,是否可以正常查询到数据。时序图的虚线指流程处理结束返回。下面举例说明:

数据源参数元组如下:

{“type”:”mysql”,”ip”:”192.168.100.49”,”port”:3358,”user”:”root”,”password”:”pw123”,”database”:”db_comment”,”sql”:”selectcontentfromuser_commentwherecreatedbetween‘2019-10-01’and‘2019-10-02’”}

提交保存后得到:

{“datasourceid”:1024,“type”:”mysql”,”ip”:”192.168.100.49”,”port”:3358,”user”:”root”,”password”:”pw123”,”database”:”db_comment”,”sql”:”selectcontentfromuser_commentwherecreatedbetween‘2019-10-01’and‘2019-10-02’”}

assembler指定使用id=1024的数据源参数元组,就是使用以上参数调用mysql。

另外,对于增量数据mq的处理:如果某个数据分析任务需要订阅业务系统的增量数据mq,则用户在管理后台配置数据源时,需要额外指定mq的数据源参数元组(ip,user,topic等),datasource接收到增量数据后回调assembler,根据业务脚本逻辑处理增量数据。

图8为根据本发明实施例的数据分析方法的处理存量数据的时序图。如图8所示,用户配置存量数据任务后发送至后台管理;后台管理校验计算器后,发送至组装器组件;组装器组件校验数据源实例。校验通过后管理后台启动存量数据任务。组装器组件从数据源组件拉取数据,调用计算器组件处理数据,保存处理结果,返回任务状态。

其中,配置存量数据任务对应步骤s601和步骤s602。具体实现为:用户在管理后台能查看自己已经保存的数据源参数元组及参数标识id,当前支持的计算器及出入参说明。然后,用户编写自己的assembler程序脚本,脚本是数据分析任务的核心,负责把datasource,calculator组合起来使用,并加上任务的业务处理逻辑。

assembler程序脚本中包含参数标识id(或者直接提供数据源参数元组)、任务逻辑代码等信息。提交保存,然后可以启动任务。如果assembler程序脚本指定的是参数标识id,任务运行时会从已保存的记录中找到数据源参数元组,然后读取数据源。另外,校验计算器即输入入参,观察出参。

图9为根据本发明实施例的数据分析方法用于olap系统的实现架构图。如图9所示,olap系统包括olap-datasource、olap-assembler、olap-calculator和olap-admin。olap-datasource从数据库获取存量数量、数据加工处理结果。olap-calculator开发新计算器。olap-admin启动数据分析任务,配置数据源。olap-assembler开发任务逻辑脚本,从olap-datasource拉取存量数据或者增量数据,调用olap-calculator中的计算器处理拉取的数据。

另外,search系统包括search-soa和search-admin,search-soa接收来自client的数据查询请求,并从olap-datasource查询数据。

通过本发明实施例的数据分析方法可以看出,通过获取包含业务逻辑代码的业务逻辑脚本,从指定的数据源中获取业务数据,之后调用计算器集实现对业务数据的加工处理,使得系统代码可以复用,开发效率高;预先梳理出获取数据需要的参数,进而实现数据提取逻辑,实现了数据提取逻辑的复用;预先构建单一职责的用于数据加工处理的计算器,进而实现数据处理逻辑,实现了数据处理逻辑的复用;通过预先构建的分词计算器、相似度计算器和聚类计算器,实现了物品问答数据的聚类任务,开发效率高,节约人力资源。

为数据源参数元组生成参数标识,使得后续仅需指定参数标识就可以实现业务数据的获取;通过订阅业务系统的消息队列的方式,实现了增量数据的实时处理;通过抽象出组装器组件、数据源组件、计算器组件实现系统复用,通过在管理后台提交业务逻辑脚本的方式,实现平台侧零开发量;数据使用方通过检索系统查询数据,无需直接访问数据库,使得系统对数据使用方更加友好易用。

图10是根据本发明实施例的数据分析装置的主要模块的示意图。如图10所示,本发明实施例的数据分析装置1000,主要包括:

脚本获取模块1001,用于获取预先为数据分析任务编写的业务逻辑脚本。其中,所述业务逻辑脚本包括数据源参数信息和业务逻辑代码。数据源参数信息可以是数据源参数元组,也可以是数据源参数元组对应的参数标识。业务逻辑代码包括:数据提取逻辑和数据处理逻辑。数据提取逻辑用于根据数据源参数信息,从对应的数据源中获取业务数据。数据处理逻辑用于设定数据分析任务需要的计算器集,以调用该计算器集对业务数据进行数据加工处理。

数据获取模块1002,用于执行所述业务逻辑代码的数据提取逻辑,以从所述数据源参数信息指定的数据源中获取业务数据。若数据源参数信息为数据源参数元组,该数据源参数元组包括数据源基本信息和数据读取指令,则根据数据源基本信息与对应的数据源建立连接;之后执行数据读取指令,以从该数据源中获取业务数据。若数据源参数信息为参数标识,则首先根据参数标识,获取对应的数据源参数元组;之后再按照上述方式获取业务数据。

数据处理模块1003,用于执行所述业务逻辑代码的数据处理逻辑,以调用所述数据处理逻辑中设定的计算器集,对所述业务数据进行数据加工处理。计算器集中包括用于数据加工处理的单一职责的计算器,该计算器将业务数据或者业务数据的加工处理结果作为入参,对入参进行加工处理后,返回入参的加工处理结果。执行数据处理逻辑,以调用计算器集中的计算器,进而对业务数据进行数据清洗、数据转换、数据校验等数据加工处理。

另外,本发明实施例的数据分析装置1000还可以包括:接收生成模块(图10中未示出)。该模块用于接收数据源配置信息,为所述数据源配置信息的数据源参数元组生成对应的参数标识;其中,所述数据源配置信息包括数据源类型和所述数据源类型对应的数据源参数元组。

从以上描述可以看出,通过接收包含业务逻辑代码的业务逻辑脚本,从指定的数据源中获取业务数据,之后调用计算器集实现对业务数据的加工处理,使得系统代码可以复用,开发效率高。

图11示出了可以应用本发明实施例的数据分析方法或数据分析装置的示例性系统架构1100。

如图11所示,系统架构1100可以包括终端设备1101、1102、1103,网络1104和服务器1105。网络1104用以在终端设备1101、1102、1103和服务器1105之间提供通信链路的介质。网络1104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备1101、1102、1103通过网络1104与服务器1105交互,以接收或发送消息等。终端设备1101、1102、1103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备1101、1102、1103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器1105可以是提供各种服务的服务器,例如对管理员利用终端设备1101、1102、1103发送的业务逻辑脚本进行处理的后台管理服务器。后台管理服务器可以执行业务逻辑脚本,并将处理结果(例如数据加工处理结果)反馈给终端设备。

需要说明的是,本申请实施例所提供的数据分析方法一般由服务器1105执行,相应地,数据分析装置一般设置于服务器1105中。

应该理解,图11中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。

本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种数据分析方法。

本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种数据分析方法。

下面参考图12,其示出了适用于来实现本发明实施例的电子设备的计算机系统1200的结构示意图。图12示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图12所示,计算机系统1200包括中央处理单元(cpu)1201,其可以根据存储在只读存储器(rom)1202中的程序或者从存储部分1208加载到随机访问存储器(ram)1203中的程序而执行各种适当的动作和处理。在ram1203中,还存储有计算机系统1200操作所需的各种程序和数据。cpu1201、rom1202以及ram1203通过总线1204彼此相连。输入/输出(i/o)接口1205也连接至总线1204。

以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。

特别地,根据本发明公开的实施例,上文主要步骤图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括脚本获取模块、数据获取模块和数据处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,脚本获取模块还可以被描述为“获取预先为数据分析任务编写的业务逻辑脚本的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取预先为数据分析任务编写的业务逻辑脚本;其中,所述业务逻辑脚本包括数据源参数信息和业务逻辑代码;执行所述业务逻辑代码的数据提取逻辑,以从所述数据源参数信息指定的数据源中获取业务数据;执行所述业务逻辑代码的数据处理逻辑,以调用所述数据处理逻辑中设定的计算器集,对所述业务数据进行数据加工处理。。

从以上描述可以看出,通过获取包含业务逻辑代码的业务逻辑脚本,从指定的数据源中获取业务数据,之后调用计算器集实现对业务数据的加工处理,使得系统代码可以复用,开发效率高;预先梳理出获取数据需要的参数,进而实现数据提取逻辑,实现了数据提取逻辑的复用。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1