数据处理方法、装置、设备及存储介质与流程

文档序号:28592529发布日期:2022-01-22 09:07阅读:58来源:国知局
1.本发明涉及数据分析领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
::2.随着大数据时代的到来,对数据的分析需求越来越高。相关技术中,往往基于数据立方体(cube)对数据进行多维度分析,比如,对数据集合建立cube,由cube表示若干个维度所描述的数据集合,每个维度都反映了数据集合的一种业务角度,数据的多维度分析方式包括:3.方式一,将数据写入数据库中,通过编写sql(structuredquerylanguage,结构化查询语言)语句来进行查询分析;4.方式二,使用第三方工具,比如kylin等,进行指标计算。5.对于上述方式一,通过编写sql语句进行多维度分析时,业务人员需要针对不同的维度编写不同的sql语句,工作量较大,且对业务人员的专业性要求高。此外,如果对海量数据进行多维度分析,极易出现性能问题,性能和时效性均难以保障。6.对于上述方式二,通过第三方工具kylin计算,由于提供的算子有限,对复杂指标算法支持较差,且不支持对批量数据的增量计算。技术实现要素:7.有鉴于此,本发明实施例提供了一种数据处理方法、装置、设备及存储介质,旨在解决数据的多维度分析存在编写sql语句导致的操作繁琐或者难以支持复杂指标算法的问题。8.本发明实施例的技术方案是这样实现的:9.本发明实施例提供了一种数据处理方法,包括:10.获取查询请求对应的查询因子;11.基于获取的所述查询因子生成查询sql(结构化查询语言);12.获取所述查询sql的解析结果,并基于解析结果确定所述查询请求对应的数据立方体元数据;13.基于所述查询请求对应的数据立方体元数据从结果数据库中得到所述查询请求对应的结果数据。14.本发明实施例还提供了一种数据处理装置,包括:15.获取模块,用于获取查询请求对应的查询因子;16.生成模块,用于基于获取的所述查询因子生成查询sql;17.确定模块,用于获取所述查询sql的解析结果,并基于所述解析结果确定所述查询请求对应的数据立方体元数据;18.查询模块,用于基于所述查询请求对应的数据立方体元数据从结果数据库中得到所述查询请求对应的结果数据。19.本发明实施例又提供了一种数据处理设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器,用于运行计算机程序时,执行本发明任一实施例所述方法的步骤。20.本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本发明任一实施例所述方法的步骤。21.本发明实施例提供的技术方案,基于获取的查询因子生成查询sql;获取所述查询sql的解析结果,并基于所述解析结果确定所述查询请求对应的cube元数据;基于所述查询请求对应的cube元数据从结果数据库中得到所述查询请求对应的结果数据。可以支持获取多维度分析的结果数据,且无需业务人员针对不同的维度分析编写不同的sql语句,操作简便,亦利于增强多维度分析的时效性;此外,基于查询因子可以生成不同算法对应的度量指标,从而支持多维度的分析需求。附图说明22.图1为本发明实施例数据处理方法的流程示意图;23.图2为本发明实施例对源数据基于cube进行多维度分析的流程示意图;24.图3为本发明实施例创建源数据的cube的流程示意图;25.图4为本发明实施例处理执行sql的流程示意图;26.图5为本发明实施例数据处理装置的结构示意图;27.图6a及图6b为本发明应用实施例数据处理装置的结构示意图;28.图7为本发明实施例数据处理设备的结构示意图。具体实施方式29.下面结合附图及实施例对本发明再作进一步详细的描述。30.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的
技术领域
:的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。31.本发明实施例提供了一种数据处理方法,如图1所示,该方法包括:32.步骤101,获取查询请求对应的查询因子;33.步骤102,基于获取的所述查询因子生成查询sql;34.步骤103,获取所述查询sql的解析结果,并基于所述解析结果确定所述查询请求对应的cube元数据;35.步骤104,基于所述查询请求对应的cube元数据从结果数据库中得到所述查询请求对应的结果数据。36.这里,cube是指面向同一业务主题的数据集合。比如,对于同一业务主题的数据的一种维度,基于度量做聚合运算,将聚合运算的结果保存为一个物化视图(materializedview),又称为cuboid,将该业务主题的所有维度组合的cuboid作为一个整体,被称为cube,即cube是按照维度聚合的物化视图的集合。37.本发明实施例中,查询因子包括:维度、度量及算子。这里,维度是指观察数据的角度,比如,时间、地市、网元等,维度一般是一组离散的值;度量是指能够被精确量化的数值信息,比如,响应时延、网络流量等,度量一般是连续的值;算子是指对度量基于维度进行聚合运算对应的算法,比如,累加、均值、最大值、最小值等聚合运算对应的算法。38.本发明实施例数据处理方法,可以支持获取多维度分析的结果数据,且无需业务人员针对不同的维度分析编写不同的sql语句,操作简便,亦利于增强多维度分析的时效性;此外,基于维度、度量及算子可以生成不同算法对应的度量指标,从而支持多维度的分析需求。比如,针对时间维度,以数据流量为度量,以累加函数为算子,则可以查询获取周、月及季度等不同层次维度的数据流量值,其中,周、月及季度代表时间维度的不同层级。39.在一些实施例中,数据处理方法还包括:40.对源数据基于数据立方体进行多维度分析,得到分析结果;41.将所述分析结果存储至所述结果数据库中。42.本发明实施例中,基于cube进行多维度分析,得到分析结果具有对应的聚合关系,通过查询请求中携带维度、度量及算子,可以基于维度、度量及算子生成查询sql,然后对查询sql解析,得到查询请求对应的cube元数据,即确定查询请求对应的事实表(facttable)、维度表(dimensiontable)、维度、度量及算子,从而可以从结果数据库中基于cube元数据确定映射的结果数据。这里,事实表是指存储有事实记录的表,如系统日志、销售记录等;事实表的记录在不断地动态增长,所以它的体积通常远大于其他表;维度表又称为维表或者查找表(lookuptable),是与事实表对应的一种表,它保存了维度的属性值,可以跟事实表做关联。相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。常见的维度表有日期表(存储与日期对应的周、月、季度等的属性)、地点表(包含国家、省/州、城市等属性)等。43.在一些实施例中,用户可以通过数据处理设备的显示界面上的输入单元输入查询请求对应的维度、度量及算子,比如,通过表格填入或者图表拖拽等方式输入查询请求。数据处理设备接收用户输入的查询请求,并基于查询请求对应的维度、度量及算子生成查询sql。44.在一些实施例中,基于获取的所述查询因子生成查询sql,包括:45.将度量及算子封装成度量指标;46.基于度量指标和维度生成查询sql。47.这里,度量指标用于表示结果数据的度量是如何从事实表或者维度表中得到的;基于度量指标和维度,则可以生成查询sql。比如,度量为数据流量,算子为累加算法,维度为年,则生成统计年度的流量累加值的查询sql。48.在一些实施例中,对查询sql进行解析,确定的查询请求对应的cube元数据,包括:确定查询请求对应的事实表、维度表、维度、度量及算子,相应地,基于所述查询请求对应的cube元数据从所述结果数据库中得到所述查询请求对应的结果数据,包括:49.基于查询请求对应的事实表、维度表、维度、度量及算子,确定该查询请求映射的结果表,得到结果数据。50.实际应用中,可以将结果数据导出,或者对结果数据进行界面显示,比如,可以表格、图形等方式进行显示。51.在一些实施例中,如图2所示,对源数据基于cube进行多维度分析,得到分析结果,包括:52.步骤201,基于源数据的cube的cube元数据生成任务元数据;53.步骤202,基于任务元数据生成调度任务;54.步骤203,对调度任务进行解析,生成执行sql;55.步骤204,处理执行sql,得到多维分析的分析结果。56.这里,基于源数据的cube的cube元数据生成任务元数据,包括:57.基于初始参数创建源数据的cube,并存储cube的元数据;58.基于cube的元数据生成待调度的任务元数据。59.在一些实施例中,所述基于初始参数创建源数据的cube,包括以下至少之一:60.确定缺失分析项目,创建相应的分析项目;61.确定分析项目下缺失cube的模型,创建相应模型并基于相应模型创建cube;62.确定缺失算子,创建相应算子并将相应算子存储至算子库。63.如图3所示,创建源数据的cube,包括:64.步骤301,判断分析项目是否存在,若是,则执行步骤303,若否,则执行步骤302;65.这里,用户可以通过重置(rest)接口触发cube的创建。数据处理设备判断分析项目是否存在,若已存在则直接执行步骤303,跳过步骤302。66.步骤302,创建分析项目;67.数据处理设备创建分析项目,这里,分析项目(project)用于对整个数据分析进行简要描述,描述内容可以包括项目名称、项目简介、项目创建人等。68.步骤303,判断分析项目下是否缺失cube的模型,若是,则执行步骤305,若否,则执行步骤304;69.这里,模型(model)用于对cube进行描述,描述内容可以包括:名称、简介、所属project、事实表、维度表、维度列、度量列等。若cube已存在模型,则直接执行步骤305,跳过步骤304。70.步骤304,创建模型;71.数据处理设备根据模型的初始参数创建模型。72.步骤305,基于模型生成cube;73.这里,对于每一种维度的组合,将度量指标做聚合运算,然后将运算的结果保存为一个物化视图,称为cuboid。所有维度组合的cuboid作为一个整体,被称为cube。cube描述的内容可以包括:名称、所属model、计算引擎、存储引擎、维度、度量等。74.步骤306,判断是否缺失算子,若是,则执行步骤307,若否则执行步骤308;75.步骤307,新增算子,并将相应算子存储至算子库;76.数据处理设备确定cube的创建存在缺失的算子,则可以按照设定的规则新增算子,并对算子进行标识,比如,算子名称可以作为算子的唯一标识,如果算子已经存在则不添加,反之则把算子更新到算子库。算子的规则可以包括:算子名称,算子功能描述,算子对应的sql函数描述。以sum算子为例,其规则包括:名称:sum;功能描述:累加;对应sql函数:sum(column)。实际应用中,对于新增的算子可以判断其是否满足设定的规则,仅将满足设定队则的算子添加至算子库。77.步骤308,结束。78.本发明实施例通过在cube的创建过程中,检测是否缺失算子,从而可以丰富算法,扩展算子类型,从而可以支持多维度的数据分析需求。79.实际应用中,数据处理设备创建cube后,判断相应cube是否存在,若存在,则丢弃处理,若不存在,则存储相应cube的cube元数据。这里,cube元数据是指对cube进行描述的数据,可以包括:所属项目、所属的model、事实表、维度表、计算引擎、存储引擎、维度列、度量列等。80.在一些实施例中,基于cube的元数据生成待调度的任务元数据,包括:81.数据处理设备封装cube元数据为任务(job)元数据,并将任务元数据存储,以供调度引擎使用。82.在一些实施例中,基于任务元数据生成调度任务,包括:83.对待调度的任务元数据基于流处理或者批处理生成调度任务。84.这里,数据处理设备的调度引擎可以基于流处理或者批处理生成调度任务。85.在一些实施例中,调度引擎基于流处理生成调度任务,包括:86.调度引擎实时从存储引擎中抓取任务,并直接调用计算引擎进行处理。87.在一些实施例中,调度引擎基于批处理生成调度任务,包括:88.调度引擎解析job元数据,获取调度周期和job状态,根据调度周期封装调度任务,如果job状态为可执行,则将封装的调度任务传送到计算引擎。89.本发明实施例,可以支持批处理和流处理两种处理模式,从而可以对不同数据类型进行多维度数据分析。90.在一些实施例中,所述对调度任务进行解析,生成执行sql,包括:91.对调度任务进行解析,得到源数据的cube对应的宽表和结果表,所述宽表用于表征源数据的维度和度量,所述结果表用于表征多维分析的分析结果;92.基于所述宽表和所述结果表生成执行sql,所述执行sql包括:建表sql和汇总sql,所述建表sql基于所述宽表和所述结果表的对应关系生成,所述汇总sql基于所述结果表中度量指标的生成规则生成,所述度量指标基于度量和对应的算子确定。93.在一些实施例中,数据处理设备的计算引擎根据调度引擎传递的调度任务,解析出度量列、维度列、调度周期、汇总步骤等参数,并解析出度量列和维度列的关联规则信息等。计算引擎对调度任务进行宽表解析和结果表解析,得到宽表和结果表,其中,宽表是指包括各维度和度量的表,计算引擎根据调度任务的信息解析度量列和维度列的关联规则,从而将事实表和多张维度表组合为一张宽表。根据既定的命名规则,自动生成宽表表名;结果表是指数据分析结果的存储表,每个数据维度均对应一张结果表。计算引擎根据调度任务的信息解析出结果表的维度指标、度量指标、度量指标的算子表达式,以及该结果表的数据源表和计算步骤等信息,根据既定的规则,自动生成结果表的表名。94.计算引擎基于所述宽表和所述结果表生成执行sql,包括:95.根据解析出的宽表和结果表的表名、度量指标、维度指标,自动生成建表sql;96.在结果表解析中,已经得出结果表的维度指标、度量指标、数据源表、度量指标的算子表达式信息,通过将算子表达式与算子库结合,获得具体的算子,将这些信息聚合为计算过程,即可得到汇总sql。97.在一些实施例中,如图4所示,处理执行sql,得到多维分析的分析结果,包括:98.步骤401,封装可执行任务;99.基于执行sql、调度周期、汇总步骤,封装可执行任务(task)。100.步骤402,可执行任务解析;101.解析封装的可执行任务,根据每个任务的执行步骤,将任务解析为树结构,每个节点为相应的封装任务,称为task树。逐层扫描task树,为了充分利用计算组件的资源,从根节点开始计算,同一层的任务并发执行,不同层之间的任务串行执行。102.实际应用中,为了控制任务的并发情况,防止并发过高造成计算组件的负载过高,可以采用task池缓存task对应的任务。103.步骤403,处理模式解析;104.解析每个task的处理模式,用于判断task的计算方式,处理方式包括流处理和批处理。105.步骤404,判断task的处理模式是批处理或者流处理;106.若task的处理模式为批处理,则执行步骤405;若task的处理模式为流处理,则执行步骤406。107.步骤405,运行批处理模式;108.调用批处理接口,将该任务同一批次的数据拟实时地与历史已计算的数据进行汇总处理。109.步骤406,运行流处理模式;110.调用流处理接口,实时处理新的任务的数据与历史存储的数据进行汇总。111.步骤407,执行task。112.根据处理模式的不同,选择相应的处理方式和计算组件来执行计算,将执行状态更新到存储引擎,将汇总结果存储到存储引擎。113.这里,存储引擎用于管理其他引擎模块产生的元数据信息,以及最后产生的数据分析结果,作为各个引擎的交互媒介。具体地,存储引擎可以用于存储:前述的cube元数据、任务元数据、结果数据库及算子库。计算引擎可以基于执行sql的处理,更新结果数据库中的结果表及任务元数据中的任务状态。其中,结果数据库中的结果表可以与cube元数据映射,便于查询请求获取结果表的数据。114.本发明实施例计算引擎支持对源数据进行多个维度进行增量计算,拟实时得出多维度的度量指标的汇总值。115.相关技术中,对于数据的预测,仍局限于单一维度的指标预测,难以满足数据的多元化的预测需求。基于此,本发明实施例中,数据处理方法还包括:116.对所述查询请求对应的结果数据基于历史数据进行预测,得到相应的预测值。117.在一些实施例中,所述对所述查询请求对应的结果数据基于历史数据进行预测,得到相应的预测值,包括:118.从结果数据库中获取结果数据对应的历史数据;119.将所述历史数据和所述结果数据导入到预测模型中,分析出所述结果数据对应的预测值。120.这里,基于初始参数创建源数据的cube还可以包括:121.配置预测模型的配置参数。122.如此,可以基于预测模型的配置参数,对历史数据和结果数据进行训练,比如,使用设定的时间序列预测算法,对不同维度的结果表分别进行预测,得到预测结果表,从而可以通过界面展示多维度分析结果的结果表及预测的结果数据,从而利于全方面评估指标趋势。这里,时间序列预测算法可以为三次指数平滑holt-winters(霍尔特-温特)法等时间序列预测算法。123.为了实现本发明实施例的方法,本发明实施例还提供一种数据处理装置,该数据处理装置与上述数据处理方法对应,上述数据处理方法实施例中的各步骤也完全适用于本数据处理装置实施例。124.如图5所示,该数据处理装置包括:获取模块501、生成模块502、确定模块503及查询模块504。其中,获取模块501用于获取查询请求对应的查询因子;生成模块502用于基于获取的所述查询因子生成查询sql;确定模块503用于获取所述查询sql的解析结果,并基于所述解析结果确定所述查询请求对应的cube元数据;查询模块504用于基于所述查询请求对应的cube元数据从结果数据库中得到所述查询请求对应的结果数据。125.在一些实施例中,数据处理装置还包括:分析处理模块505,用于对源数据基于cube进行多维度分析,得到分析结果,并将分析结果存储至结果数据库;126.在一些实施例中,分析处理模块505具体用于:127.基于源数据的cube的cube元数据生成任务元数据;128.基于任务元数据生成调度任务;129.对调度任务进行解析,生成执行sql;130.处理执行sql,得到多维分析的分析结果。131.在一些实施例中,分析处理模块505基于源数据的cube的cube元数据生成任务元数据,包括:132.基于初始参数创建源数据的cube,并存储cube的元数据;133.基于cube的元数据生成待调度的任务元数据。134.在一些实施例中,分析处理模块505基于任务元数据生成调度任务,包括:135.对待调度的任务元数据基于流处理或者批处理生成调度任务。136.在一些实施例中,分析处理模块505对调度任务进行解析,生成执行sql,包括:137.对调度任务进行解析,得到源数据的cube对应的宽表和结果表,所述宽表用于表征源数据的维度和度量,所述结果表用于表征多维分析的分析结果;138.基于所述宽表和所述结果表生成执行sql,所述执行sql包括:建表sql和汇总sql,所述建表sql基于所述宽表和所述结果表的对应关系生成,所述汇总sql基于所述结果表中度量指标的生成规则生成,所述度量指标基于度量和对应的算子确定。139.在一些实施例中,分析处理模块505基于初始参数创建源数据的cube,包括以下至少之一:140.确定缺失分析项目,创建相应的分析项目;141.确定分析项目下缺失cube的模型,创建相应模型并基于相应模型创建cube;142.确定缺失算子,创建相应算子并将相应算子存储至算子库。143.在一些实施例中,该数据处理装置还包括:144.预测模块506,用于对所述查询请求对应的结果数据基于历史数据进行预测,得到相应的预测值。145.在一些实施例中,预测模块506具体用于:146.从结果数据库中获取结果数据对应的历史数据;147.将所述历史数据和所述结果数据导入到预测模块中,分析出所述结果数据对应的预测值。148.实际应用时,获取模块501、生成模块502、确定模块503、查询模块504、分析处理模块505及预测模块506,可以由数据处理装置中的处理器来实现。当然,处理器需要运行存储器中的计算机程序来实现它的功能。149.需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。150.下面结合应用实施例对本发明再作进一步详细的描述。151.如图6a及图6b所示,本应用实施例数据处理装置包括:模型构建引擎、存储引擎、可视化界面、调度引擎、计算引擎及预测引擎,其中,图6a中的a、b、c、d、e分别于图6b中的a、b、c、d、e连接。152.下面对上述数据处理装置中的各模块分别进行介绍:153.一、模型构建引擎154.模型构建引擎用于按照规定的格式构造整个多维度指标分析所需要的信息,包括项目(project)构建,模型(model)构建,数据立方体(cube)生成,预测模型构建等步骤,并将信息传递给其他模块。模型构建引擎具体用于:155.1)、创建project:project用于对整个数据分析的简要描述,描述内容包括项目名称、项目简介、项目创建人等。156.2)、建立model:model包括数据的所有维度列和度量列,即数据的观察角度和分析指标。描述内容主要包括名称、简介、所属project、事实表、维度表、维度列、度量列等。其中:157.事实表(facttable):存储有事实记录的表,如系统日志、销售记录等;事实表的记录在不断地动态增长,所以它的体积通常远大于其他表。158.维度表(dimensiontable):是与事实表相对应的一种表,它保存了维度的属性值,可以跟事实表做关联。相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。常见的维度表有日期表(存储与日期对应的周、月、季度等的属性)、地点表(包含国家、省/州、城市等属性)等。159.维度列:维度列即是数据的观察角度,来源于事实表或维度表,一般为离散的值,用于从不同的角度分析数据,比如时间、地市、网元等。160.度量列:即是需要分析的指标,来源于事实表,反应的是不通维度下数据的统计结果,一般为连续的值,比如用户流量、tcp响应时延等。161.3)、生成cube:对于每一种维度的组合,将度量指标做聚合运算,然后将运算的结果保存为一个物化视图,称为cuboid。所有维度组合的cuboid作为一个整体,被称为cube。描述的内容包括名称、所属model、计算引擎、存储引擎、维度、度量等。162.4)、预测模型构造:预测模型选择,包括现有的回归模型、arima、时序分解、三次指数平滑(holt-winters)等时间序列预测算法。配置需要预测的结果表以及结果表字段。163.4)、提交job:封装cube的元数据为job元数据,并将该job提交到存储引擎中,以供调度引擎使用。164.5)、新增算子:用户按照规则增加算子,算子名称作为唯一标识,如果算子已经存在则不添加,反之则把算子更新到存储引擎。算子的规则包括:算子名称,算子功能描述,算子对应的sql函数描述。如sum算子:名称:sum;功能描述:累加;对应sql函数:sum(column)。165.二、存储引擎166.存储引擎用于管理其他引擎模块产生的元数据信息,以及最后产生的数据分析结果,作为各个引擎的交互媒介。存储引擎具体用于:167.1)、存储cube元数据:存储request接口生成的cube的元数据信息。168.2)、存储job元数据:存储request接口生成的job的元数据,并供调度引擎使用,调度引擎将符合调度条件的job提交到计算引擎处理,在该job计算结束之后,将计算状态更新到元数据中。169.3)、存储结果数据:存储计算引擎产生的结果数据,并将该数据与cube元数据做映射,便于查询引擎通过映射关系查找数据分析的结果。170.三、计算引擎171.计算引擎用于进一步解析job任务,根据解析结果自动生成一系列的可执行sql任务,然后将任务解析为任务树,最后选择计算组件计算,并将计算结果提交存储引擎。计算引擎具体用于:172.1)、参数解析:根据调度引擎传递的job任务,解析出度量列、维度列、调度周期、汇总步骤等参数,并解析出度量列和维度列的关联规则信息等。具体包括:173.宽表解析:宽表是指包含所有的维度指标和度量指标的表。根据job信息解析度量列和维度列的关联规则,从而将事实表和多张维度表组合为一张宽表。根据既定的命名规则,自动生成宽表表名。174.结果表解析:结果表即是数据分析结果的存储表,每个数据维度均对应一张结果表。根据job信息解析出结果表的维度指标、度量指标、度量指标的算子表达式,以及该结果表的数据源表和计算步骤等信息。根据既定的规则,自动生成结果表的表名。175.2)、生成建表sql:根据解析出的宽表和结果表的表名、度量指标、维度指标,自动生成建表sql。176.3)、生成汇总sql:在结果表解析中,已经得出结果表的维度指标、度量指标、数据源表、度量指标的算子表达式信息,通过将算子表达式与算子库结合,获得具体的算子,最后将这些信息聚合为计算过程,即可得到汇总sql。177.4)、封装task:将建表sql与汇总sql,以及调度周期、汇总步骤等信息封装为具体的可执行任务。178.5)、task解析:解析封装任务,根据每个任务的执行步骤,将任务解析为树结构,每个节点为相应的封装任务,称为task树。逐层扫描task树,为了充分利用计算组件的资源,从根节点开始计算,同一层的任务并发执行,不同层之间的任务串行执行。179.6)、task池:task池用于缓存task任务,用于控制任务的并发情况,防止并发过高造成计算组件的负载过高。180.7)、处理模式解析:解析每个task的处理模式,用于判断该任务的计算方式,处理方式包括流处理和批处理。181.8)、批处理模式:如果task的处理模式为批处理,则调用批处理接口,将该任务同一批次的数据拟实时地与历史已计算的数据进行汇总处理。182.9)、流处理模式:如果task的处理模式为流处理,则调用流处理接口,实时处理新的任务的数据与历史存储的数据进行汇总。183.10)、执行任务:根据处理模式的不同,选择相应的处理方式和计算组件来执行计算,将执行状态更新到存储引擎,将汇总结果存储到存储引擎。184.四、预测引擎185.预测引擎用于对计算引擎得到的结果表数据进行预测,通过模型构建引擎里配置的预测模型,使用用户设定的时间序列预测算法,对不同粒度的结果表分别进行预测,将结果存储到预测结果表中。186.五、调度引擎187.调度引擎用于针对批处理任务定时调用计算引擎执行job任务;对流处理任务监控并实时加入到计算引擎进行实时处理,最后更新存储引擎中job的状态,每一次执行job任务之后调用预测引擎对结果表进行预测,存储拟实时或实时的预测结果。调度引擎具体用于:188.1)、流处理任务:实时从存储引擎中抓取job任务,并直接调用计算引擎进行计算,之后调用预测引擎进行多维度的指标预测。189.2)、批处理任务:解析job元数据,获取调度周期和job状态,根据调度周期封装调度任务,如果job状态为可执行,则将封装的调度任务传送到计算引擎,等计算引擎执行结束,自动调用预测引擎进行指标预测,反之不处理。190.六、可视化界面191.可视化界面具体包括:192.1)、模型配置界面:配置模型构建所需的事实表、维度表、维度列、度量列、模型构建周期,预测模型相关配置。193.2)、多维度指标呈现与预测界面:列举用户配置的所有模型,选择模型后,展示模型里配置的多维度指标结果表的趋势图,并展示预测结果数据,全方面评估指标趋势。194.基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供一种数据处理设备。图7仅仅示出了该数据处理设备的示例性结构而非全部结构,根据需要可以实施图7示出的部分结构或全部结构。195.如图7所示,本发明实施例提供的数据处理设备700包括:至少一个处理器701、存储器702、用户接口703和至少一个网络接口704。数据处理设备700中的各个组件通过总线系统705耦合在一起。可以理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统705。196.其中,用户接口703可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。197.本发明实施例中的存储器702用于存储各种类型的数据以支持数据处理设备的操作。这些数据的示例包括:用于在数据处理设备上操作的任何计算机程序。198.本发明实施例揭示的数据处理方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,数据处理方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成本发明实施例提供的数据处理方法的步骤。199.在示例性实施例中,数据处理设备可以被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、fpga、通用处理器、控制器、微控制器(mcu,microcontrollerunit)、微处理器(microprocessor)、或者其他电子元件实现,用于执行前述方法。200.可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。201.在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体可以是计算机可读存储介质,例如包括存储计算机程序的存储器702,上述计算机程序可由数据处理设备的处理器701执行,以完成本发明实施例方法所述的步骤。计算机可读存储介质可以是rom、prom、eprom、eeprom、flashmemory、磁表面存储器、光盘、或cd-rom等存储器。202.需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。203.另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。204.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1