一种可配置的特征计算方法及系统与流程

文档序号:14940688发布日期:2018-07-13 20:39阅读:80来源:国知局

本发明涉及计算机网络技术领域,尤其涉及一种可配置的特征计算方法及系统。



背景技术:

近年来随着互联网的普及,越来越多的人加入到互联网行列,人们在网络上的各种操作行为都会留下数以亿计的网络留痕,称之为网络日志。从如此庞大的日志数据中分析用户行为,进而挖掘出有效信息并用于商业行为,可以极大提升用户体验。信息挖掘中的一个步骤就是特征计算。一般的方法是在一段时间的日志数据中,在一组维度联合上,做数值聚合,从而反映出这组维度上的信息特点。一般的特征计算过程的代码,均为人工编写,所以可处理的维度数量极为有限,甚至为了维护有限的维度,还需要人工把其他维度转换成特定维度,方便开发人员维护和管理。这样的设计不仅实现成本很高,对特征设计有很强的限制,而且很难以维护和扩展,尤其难以满足越来越多的特征计算的需求。



技术实现要素:

有鉴于此,本发明提供一种可配置的特征计算方法及系统,能够根据编写的特征计算的配置,以及根据调度器调度特征计算程序,在很短的时间内实现了很多个维度的特征计算。进而解决人工编写特征计算代码处理的维度数量有限,以及实现成本高,对特征设计有很强的限制,而且难以维护和扩展的问题。

为实现上述目的,根据本发明的一个方面,提供了一种可配置的特征计算方法。

本发明的方法包括:编写特征计算的配置;通过调度器调度特征计算程序;所述特征计算程序根据所述特征计算的配置,完成特征计算和特征维度的转换。

可选地,本发明的方法还包括:预定义特征计算的集合,进而基于所述集合编写特征计算的配置;并且预定义特征计算的调度配置和预定义特征维度转换的调度配置。

可选地,特征计算程序根据所述特征计算的配置,完成特征计算和特征维度的转换包括:读取所述特征计算的配置;根据所述特征计算的配置,以及预定义的特征计算的集合、预定义的特征计算的调度配置和预定义的特征维度转换的调度配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置;读取所述特征计算代码和特征计算的调度配置,对基础日志进行处理,获得各个维度的特征数据;读取所述特征维度转换代码和特征维度转换的调度配置,对所述各个维度的特征数据进行维度转换处理,获得统一维度的特征数据。

可选地,所述调度器为oozie调度器。

根据本发明的另一方面,提供了一种可配置的特征计算系统。

本发明的系统包括:配置编写模块、调度器和特征计算模块;所述配置编写模块用于编写特征计算的配置;所述调度器用于调度所述特征计算模块;所述特征计算模块用于根据所述特征计算的配置,完成特征计算和特征维度的转换。

可选地,本发明的系统还包括:预定义模块,用于预定义特征计算的集合,进而配置编写模块基于所述集合编写特征计算的配置;以及预定义特征计算的调度配置和预定义特征维度转换的调度配置。

可选地,所述特征计算模块包括:配置读取单元,用于读取所述特征计算的配置;生成单元,用于根据所述特征计算的配置,以及根据预定义的特征计算的集合、预定义的特征计算的调度配置和预定义的特征维度转换的调度配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置;处理单元,用于读取所述特征计算代码和特征计算的调度配置,对基础日志进行处理,获得各个维度的特征数据;以及读取所述特征维度转换代码和特征维度转换的调度配置,对所述各个维度的特征数据进行维度转换处理,获得统一维度的特征数据。

可选地,所述调度器为oozie调度器。

根据本发明的另一方面,还提供了一种可配置的特征计算系统。

本发明的系统包括存储器和处理器,其中,所述存储器用于存储指令;所述处理器被配置为根据所述指令执行上述任一项所述的方法。

根据本发明的技术方案,通过编写出满足用户需求的特征计算配置,并通过调度器调度特征计算程序,就可以依据用户编写的特征计算配置文件,计算出用户期望的特征值和特征维度的转换。因而本发明的技术方案,仅仅只需要编写以维度为单位的配置,就可以完成整个特征计算。配置文件相对于代码而言,是非常轻量级的,简洁的文本工作量,能够极大的提升开发人员可以实现的特征计算数量,同时极大的降低开发人员的管理维护成本。并且,本发明的技术方案是基于配置文件的,所以这些配置文件的移除和加入互不影响,从而方便开发人员能够快速的增加新的特征计算,或者去除已有的特征计算,能够极大地提升上线的效率。有效的解决了现有技术中人工编写特征计算代码的有限性,以及实现成本高、难以维护和扩展的问题。

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

附图说明

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

图1是根据本发明实施例的一种可配置的特征计算方法主要步骤的示意图;

图2是根据本发明实施例的一种可配置的特征计算方法的流程图;

图3是根据本发明实施例的一种可配置的特征计算系统的主要模块的示意图;

图4是根据本发明实施例的一种可配置的特征计算系统的示意图。

具体实施方式

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

图1是根据本发明实施例的一种可配置的特征计算方法主要步骤的示意图。

如图1所示,本发明实施例的一种可配置的特征计算方法的主要步骤包括:

s11:编写特征计算的配置。在此之前,预定义特性计算的集合,则基于该集合编写特征计算的配置。该预定义的集合主要包括过滤、分组、聚合等,基于这个定义,可以满足绝大部分的特征计算的需求。在编写特征计算的配置中,不需要了解特征计算的调度配置,特征计算的调度配置是依据特征计算配置以及预定义的特征计算配置自动生成的。

s12:通过调度器调度特征计算程序,特征计算程序依赖于调度器才能运行。启动调度器调度特征计算程序,特征计算程序才会读取特征计算的配置。并且,调度器可为任意调度器,例如为oozie调度器,oozie支持基于xml(可扩展标记语言)配置的任务调度,非常适合做自动化配置。

s13:特征计算程序根据特征计算的配置,完成特征计算和特征维度的转换。为了能够自动的生成调度配置,预定义两种调度配置:预定义特征计算的调度配置和预定义特征维度转换的调度配置。

特征计算程序根据特征计算的配置,完成特征计算和特征维度的转换包括:读取特征计算的配置;根据特征计算的配置,以及预定义的特征计算的集合、预定义的特征计算的调度配置和预定义的特征维度转换的调度配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置;读取特征计算代码和特征计算的调度配置,对基础日志进行处理,获得各个维度的特征数据;读取特征维度转换代码和特征维度转换的调度配置,对各个维度的特征数据进行维度转换处理,获得统一维度的特征数据。

图2是根据本发明实施例的一种可配置的特征计算方法的流程图。

如图2所示,本发明实施例的一种可配置的特征计算方法包括:

s21:编写特征计算的配置,该过程是基于预定义的特征计算的集合进行的。由于预定义的特征计算的集合内定义了计算符号以及计算法则,例如相乘、相除等的符号、以及过滤、分组、聚合等。依据特征计算抽象出的特征计算的集合,是一个有限的集合,一般十几个即可满足需求。所以可以在集合上做充分的测试,从而能保证开发人员基于这个集合编写的特征计算的配置都是正确的。相比人工编写代码时每一个特征计算代码都要经过充分的测试,这种基于配置的特征计算能够极大的节省测试的工作量。

s22:通过调度器调度特征计算程序,其中调度器可为oozie调度器。

s23:读取并解析特征计算的配置。特征计算程序读取特征计算的配置之后,依据之前预定义的语义,即预定义的特征计算的集合、预定义的特征计算的调度配置和预定义的特征维度转换的调度配置,进行处理。

s24:自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置。通过读取并解析特征计算的配置,输入是开发人员编写的特征计算的配置文件,输出是两份代码和配置:用于特征计算的代码和相应的调度配置,以及用于特征维度转换的代码和相应的调度配置。这里自动生成的代码是pig代码。pig作为一种脚本语言,能够非常轻松的完成特征计算,同时pig模块化非常强,非常适合自动化生成。这里的调度配置就是指oozie任务的配置文件。

s25:读取特征计算代码和特征计算的调度配置,对基础日志进行处理,获得各个维度的特征数据。

s26:读取特征维度转换代码和特征维度转换的调度配置,对各个维度的特征数据进行维度转换处理,获得统一维度的特征数据。

基于统一维度的特征数据,开发人员可以做出很多分析,挖掘用户的价值。对于开发人员来讲,仅仅只需要编写以维度为单位的配置,就可以完成整个特征计算。配置文件相对于代码而言,是非常轻量级的,在一般系统中,配置文件和特征计算的代码量之比为1:10。简洁的文本工作量,能够极大的提升开发人员可以实现的特征计算数量,同时极大的降低开发人员的管理维护成本。本发明实施例的一种可配置的特征计算方法,可在很短的时间内实现150个维度的特征计算;同时只有三十几个维度的配置文件,管理维护成本会很低。并且不需要为这些配置生成的代码做测试,极大的提升了开发效率;因为配置文件天然具备的低耦合特点,线上特征计算的变更变的异常容易,可以在一天的时间内完成上线。因为整个特征计算是基于配置文件的,所以这些配置文件的移除和加入互不影响,从而方便开发人员能够快速的增加新的特征计算,或者去除已有的特征计算,能够极大地提升上线的效率。

图3是根据本发明实施例的一种可配置的特征计算系统的主要模块的示意图。

如图3所示,本发明实施例的一种可配置的特征计算系统3主要包括:配置编写模块31、调度器32和特征计算模块33。配置编写模块31用于编写特征计算的配置。调度器32用于调度特征计算模块,且调度器32可为oozie调度器。特征计算模块33用于根据特征计算的配置,完成特征计算和特征维度的转换。特征计算模块33包括:配置读取单元,用于读取特征计算的配置;生成单元,用于根据特征计算的配置,以及根据预定义的特征计算的集合、预定义的特征计算的调度配置和预定义的特征维度转换的调度配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置;处理单元,用于读取特征计算代码和特征计算的调度配置,对基础日志进行处理,获得各个维度的特征数据;以及读取特征维度转换代码和特征维度转换的调度配置,对各个维度的特征数据进行维度转换处理,获得统一维度的特征数据。

本发明实施例的一种可配置的特征计算系统3还包括预定义模块,用于预定义特征计算的集合,进而配置编写模块基于集合编写特征计算的配置;以及预定义特征计算的调度配置和预定义特征维度转换的调度配置。

本发明实施例的一种可配置的特征计算系统通过预定义的特征计算的集合以及两种调度配置,实现针对需求自动生成相应的特征计算代码以及计算调度程序。启动调度器调度特征计算程序,一旦读取到编写的特征计算的配置,调度器就可以依据用户编写的特征计算的配置文件,计算出用户期望的特征值。输入是开发人员编写的特征计算的配置文件,输出是两份代码和配置:用于特征计算的代码和相应的调度配置,以及用于特征维度转换的代码和相应的调度配置。这里采用的是oozie调度器,自动生成的代码是pig代码。pig作为一种脚本语言,能够非常轻松的完成特征计算,同时pig模块化非常强,非常适合自动化生成。这里的调度配置就是指oozie任务的配置文件。特征计算程序读取特征计算的调度配置和特征计算的代码,对用户基础日志进行加工,生成各个维度的特征数据。特征计算程序读取特征维度转换的调度配置和对应的代码,对已经计算好的各维度特征数据做转换,转换成统一维度的用户特征数据。因而,该系统是一个可插拔的配置系统,轻松实现计算程序的上下线。并且,管理维护成本很低;而且不需要为这些配置生成的代码做测试,极大的提升了开发效率;因为配置文件天然具备的低耦合特点,线上特征计算的变更变的异常容易,可以在一天的时间内完成上线。极大的简化了特征计算的正确性验证,并且实现了全自动化的系统上线和升级管理。

图4是根据本发明实施例的一种可配置的特征计算系统的示意图。

如图4所示,本发明实施例的一种可配置的特征计算系统4包括:存储器41和处理器42。其中,存储器41用于存储指令,处理器42被配置为根据指令执行上述任一项的方法。

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

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