本发明涉及互联网领域,具体而言,涉及一种流式大数据的处理方法和装置。
背景技术:
::对于数据量多、指标计算涉及多表关联,数据本身包含新增、修改、删除操作,修改数据某些时候涉及维度数据的修改的情形,往往对于计算结果要求实时性高,计算结果要求准确,由于用户并发数高,因此对运行程序本身要求也比较高。在相关技术中,已知市面上有Kylin可以解决上述的问题,在Kylin的实现方式中,是对于维度数据进行维度遍历组合,实现指标的计算。对于变更操作通过定时任务回写指标数据来实现,缺点是回写计算量大,不实时等。针对相关技术中进行指标运算时实时性较差的技术问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种流式大数据的处理方法和装置,以至少解决相关技术中进行指标运算时实时性较差的技术问题。根据本发明实施例的一个方面,提供了一种流式大数据的处理方法,该方法包括:在流式大数据发生变化的情况下,获取发生变化的目标流式大数据;生成用于记录目标流式大数据的记录信息,其中,记录信息保存在增量日志中;利用调度执行引擎对目标流式大数据进行处理,其中,调度执行引擎通过增量日志确定目标流式大数据。进一步地,利用调度执行引擎对目标流式大数据进行处理包括:发送指令至调度执行引擎,以指示调度执行引擎调用任务处理框架处理目标流式大数据。进一步地,任务处理框架用于按照预设计算模型对目标流式大数据进行处理。进一步地,预设计算模型包括以下至少之一:第一模型,应用于新增数据场景,用于按照统计函数对目标流式大数据进行汇总和存储;第二模型,应用于删除数据场景,用于按照统计函数对目标流式大数据执行去除操作,并存储去除操作的结果;第三模型,应用于修改数据场景,在目标流式大数据的度量值发生变化的情况下,第三模型用于删除发生变化的度量值所在的字段,或者为发生变化的度量值增加字段;在目标流式大数据的维度值发生变化的情况下,第三模型用于删除发生变化前的维度值,并新增发生变化后的维度值。进一步地,获取发生变化的目标流式大数据包括:监控数据仓库中的流式大数据是否发生变化;在控数据仓库中的流式大数据发生变化的情况下,获取发生变化的目标流式大数据。根据本发明实施例的另一个方面,提供了一种流式大数据的处理装置,该装置包括:获取单元,用于在流式大数据发生变化的情况下,获取发生变化的目标流式大数据;生成单元,用于生成用于记录目标流式大数据的记录信息,其中,记录信息保存在增量日志中;处理单元,用于利用调度执行引擎对目标流式大数据进行处理,其中,调度执行引擎通过增量日志确定目标流式大数据。进一步地,处理单元还用于发送指令至调度执行引擎,以指示调度执行引擎调用任务处理框架处理目标流式大数据。进一步地,任务处理框架用于按照预设计算模型对目标流式大数据进行处理。进一步地,预设计算模型包括以下至少之一:第一模型,应用于新增数据场景,用于按照统计函数对目标流式大数据进行汇总和存储;第二模型,应用于删除数据场景,用于按照统计函数对目标流式大数据执行去除操作,并存储去除操作的结果;第三模型,应用于修改数据场景,在目标流式大数据的度量值发生变化的情况下,第三模型用于删除发生变化的度量值所在的字段,或者为发生变化的度量值增加字段;在目标流式大数据的维度值发生变化的情况下,第三模型用于删除发生变化前的维度值,并新增发生变化后的维度值。进一步地,获取单元包括:监控模块,用于监控数据仓库中的流式大数据是否发生变化;获取模块,用于在控数据仓库中的流式大数据发生变化的情况下,获取发生变化的目标流式大数据。在本发明实施例中,在流式大数据发生变化的情况下,获取发生变化的目标流式大数据;生成用于记录目标流式大数据的记录信息,其中,记录信息保存在增量日志中;利用调度执行引擎对目标流式大数据进行处理,其中,调度执行引擎通过增量日志确定目标流式大数据,从而解决了相关技术中进行指标运算时实时性较差的技术问题,实现了提高计算的实时性的技术效果。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的流式大数据的处理方法的流程图;图2是根据本发明实施例的流式大数据的处理系统的示意图;图3是根据本发明实施例的流式大数据的处理装置的示意图。具体实施方式为了使本
技术领域:
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。根据本发明实施例,提供了一种流式大数据的处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本发明实施例的流式大数据的处理方法的流程图,如图1所示,该方法包括如下步骤:步骤S101,在流式大数据发生变化的情况下,获取发生变化的目标流式大数据(即增量流式大数据)。步骤S102,生成用于记录目标流式大数据的记录信息,记录信息保存在增量日志中。步骤S103,利用调度执行引擎对目标流式大数据进行处理,调度执行引擎通过增量日志确定目标流式大数据。通过上述实施例,在流式大数据发生变化的情况下,获取发生变化的目标流式大数据;生成用于记录目标流式大数据的记录信息,其中,记录信息保存在增量日志中;利用调度执行引擎对目标流式大数据进行处理,其中,调度执行引擎通过增量日志确定目标流式大数据,从而解决了相关技术中进行指标运算时实时性较差的技术问题,实现了提高计算的实时性的技术效果。在步骤101中,获取发生变化的目标流式大数据包括:监控数据仓库中的流式大数据是否发生变化;在控数据仓库中的流式大数据发生变化的情况下,获取发生变化的目标流式大数据。在步骤S103中,利用调度执行引擎对目标流式大数据进行处理包括:发送指令至调度执行引擎,以指示调度执行引擎调用任务处理框架处理目标流式大数据。可选地,任务处理框架用于按照预设计算模型对目标流式大数据进行处理。上述的预设计算模型包括以下至少之一:第一模型,应用于新增数据场景,用于按照统计函数对目标流式大数据进行汇总和存储;第二模型,应用于删除数据场景,用于按照统计函数对目标流式大数据执行去除操作,并存储去除操作的结果(即保存执行去除操作后的数据);第三模型,应用于修改数据场景,在目标流式大数据的度量值发生变化的情况下,第三模型用于删除发生变化的度量值所在的字段,或者为发生变化的度量值增加字段;在目标流式大数据的维度值发生变化的情况下,第三模型用于删除发生变化前的维度值(即该维度变化前的数值),并新增发生变化后的维度值(即即该维度变化后的数值)。如图2所示,处理系统可包括:增量数据捕获模块(捕获的信息保存在增量日志中)、调度执行模块(调度执行引擎)、控制中心、任务处理框架、存储模块(存储框架)、olap模型等、数据仓库等。元数据模块(也即olap模型)完成对指标计算模型的定义,定义格式通过xml描述如下:上述程序代码中的相关字段的含义如下:cube:描述olap模型,fact_table代表模型的事实表名称,output_table代表模型的输出表名称,filter_condition代表数据流入是的过滤条件。lookup节点表示与事实表join的配置,table代表与事实表关联的表,join_type代表关联的策略,比如left、inner等。primarykey代表事实表的关联字段,foreignkey代表关联表的关联字段。series节点代表时间字段。name代表时间字段输出名称,type代表时间字段的类型;function代表要对时间字段的处理函数表达式,type代表函数表达式的结果类型;parameter代表时间字段信息,table代表包含时间字段的数据表,column代表字段名称,type代表此字段的类型。Dimension节点代表维度字段。name代表维度字段输出名称,type代表维度字段的类型;function代表要对维度字段的处理函数表达式,type代表函数表达式的结果类型;parameter代表维度字段信息,table代表包含维度字段的数据表,column代表字段名称,type代表此字段的类型。Pivot节点代表行转列。type代表字段类型,aggregate代表对于在字段上的汇聚函数(比如sum/count等),valuelist代表的是值列表,aslist代表的是列名称列表。Measure节点代表度量字段。name代表度量字段输出名称,type代表度量字段的类型,aggregate代表对于在字段上的汇聚函数(比如sum或count等);function代表要对度量字段的处理函数表达式,type代表函数表达式的结果类型;parameter代表度量字段信息,table代表包含度量字段的数据表,column代表字段名称,type代表此字段的类型。增量数据捕获模块添加捕获策略,监听数据的变化,如若数据发生变更,将变更数据记录,记录内容包括:数据变更类型,数据表,字段原值,字段新值,时间戳。调度执行引擎通过主动扫描和被动触发两种方式调用,调度执行引擎调用任务处理框架处理增量日志数据。任务处理框架主要工作是通过计算模型的定义,对指标进行计算。对输入数据拍平,针对拍平的数据按字段可以划分为维度字段、度量字段、series字段。指标的计算就是按照维度字段、series字段进行自定义分组,对度量字段进行统计(如计数、累加、对不同的数据进行计数等)。以下是对计算模型的抽象:数据计算过程包括三中场景:新增数据场景、删除数据场景、修改数据场景。新增数据场景:对度量值按照统计函数进行汇总,存储。删除数据场景:对度量值按照统计函数进行去除操作,然后存储。如果结果不可逆,重新到数据源通过sql语句重新生成结果值。修改数据场景:如若对度量值修改,仅仅对度量字段删除,增加。如若对维度值修改,则是应用删除原值,新增新值。通过上述实施例,可提高指标计算的实时性,提高并发访问能力,提高开发效率,适应复杂场景的计算。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。图3是根据本发明实施例的流式大数据的处理装置的示意图。如图3所示,该装置可以包括:获取单元31、生成单元32以及处理单元33。获取单元31,用于在流式大数据发生变化的情况下,获取发生变化的目标流式大数据;生成单元32,用于生成用于记录目标流式大数据的记录信息,其中,记录信息保存在增量日志中;处理单元33,用于利用调度执行引擎对目标流式大数据进行处理,其中,调度执行引擎通过增量日志确定目标流式大数据。通过上述实施例,获取单元在流式大数据发生变化的情况下,获取发生变化的目标流式大数据;生成单元生成用于记录目标流式大数据的记录信息,记录信息保存在增量日志中;处理单元利用调度执行引擎对目标流式大数据进行处理,调度执行引擎通过增量日志确定目标流式大数据,从而解决了相关技术中进行指标运算时实时性较差的技术问题,实现了提高指标运算的实时性的技术效果。在上述实施例中,处理单元还用于发送指令至调度执行引擎,以指示调度执行引擎调用任务处理框架处理目标流式大数据。可选地,任务处理框架用于按照预设计算模型对目标流式大数据进行处理。可选地,预设计算模型包括以下至少之一:第一模型,应用于新增数据场景,用于按照统计函数对目标流式大数据进行汇总和存储;第二模型,应用于删除数据场景,用于按照统计函数对目标流式大数据执行去除操作,并存储去除操作的结果;第三模型,应用于修改数据场景,在目标流式大数据的度量值发生变化的情况下,第三模型用于删除发生变化的度量值所在的字段,或者为发生变化的度量值增加字段;在目标流式大数据的维度值发生变化的情况下,第三模型用于删除发生变化前的维度值,并新增发生变化后的维度值。可选地,获取单元包括:监控模块,用于监控数据仓库中的流式大数据是否发生变化;获取模块,用于在控数据仓库中的流式大数据发生变化的情况下,获取发生变化的目标流式大数据。本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域:
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 当前第1页1 2 3