CN108279883B - 一种可配置的特征计算方法及系统 - Google Patents
一种可配置的特征计算方法及系统 Download PDFInfo
- Publication number
- CN108279883B CN108279883B CN201611253741.6A CN201611253741A CN108279883B CN 108279883 B CN108279883 B CN 108279883B CN 201611253741 A CN201611253741 A CN 201611253741A CN 108279883 B CN108279883 B CN 108279883B
- Authority
- CN
- China
- Prior art keywords
- feature
- calculation
- configuration
- feature calculation
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种可配置的特征计算方法,本方法包括:编写特征计算的配置;通过调度器调度特征计算程序;所述特征计算程序根据所述特征计算的配置,完成特征计算和特征维度的转换。本发明涉及一种可配置的特征计算系统。有效的解决了现有技术中人工编写特征计算代码的有限性,以及实现成本高、难以维护和扩展的问题。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种可配置的特征计算方法及系统。
背景技术
近年来随着互联网的普及,越来越多的人加入到互联网行列,人们在网络上的各种操作行为都会留下数以亿计的网络留痕,称之为网络日志。从如此庞大的日志数据中分析用户行为,进而挖掘出有效信息并用于商业行为,可以极大提升用户体验。信息挖掘中的一个步骤就是特征计算。一般的方法是在一段时间的日志数据中,在一组维度联合上,做数值聚合,从而反映出这组维度上的信息特点。一般的特征计算过程的代码,均为人工编写,所以可处理的维度数量极为有限,甚至为了维护有限的维度,还需要人工把其他维度转换成特定维度,方便开发人员维护和管理。这样的设计不仅实现成本很高,对特征设计有很强的限制,而且很难以维护和扩展,尤其难以满足越来越多的特征计算的需求。
发明内容
有鉴于此,本发明提供一种可配置的特征计算方法及系统,能够根据编写的特征计算的配置,以及根据调度器调度特征计算程序,在很短的时间内实现了很多个维度的特征计算。进而解决人工编写特征计算代码处理的维度数量有限,以及实现成本高,对特征设计有很强的限制,而且难以维护和扩展的问题。
为实现上述目的,根据本发明的一个方面,提供了一种可配置的特征计算方法。
本发明的方法包括:编写特征计算的配置;通过调度器调度特征计算程序;所述特征计算程序根据所述特征计算的配置,完成特征计算和特征维度的转换。
可选地,本发明的方法还包括:预定义特征计算的集合,进而基于所述集合编写特征计算的配置;并且预定义特征计算的调度配置和预定义特征维度转换的调度配置。
可选地,特征计算程序根据所述特征计算的配置,完成特征计算和特征维度的转换包括:读取所述特征计算的配置;根据所述特征计算的配置,以及预定义的特征计算的集合、预定义的特征计算的调度配置和预定义的特征维度转换的调度配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置;读取所述特征计算代码和特征计算的调度配置,对基础日志进行处理,获得各个维度的特征数据;读取所述特征维度转换代码和特征维度转换的调度配置,对所述各个维度的特征数据进行维度转换处理,获得统一维度的特征数据。
可选地,所述调度器为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被配置为根据指令执行上述任一项的方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种可配置的特征计算方法,其特征在于,包括:
根据特征计算的集合,编写特征计算的配置,其中,所述特征计算的集合内定义了计算符号以及计算法则;
通过调度器调度特征计算程序;
所述特征计算程序根据所述特征计算的配置,
完成特征计算和特征维度的转换;
所述特征计算程序根据所述特征计算的配置,完成特征计算和特征维度的转换,包括:
所述特征计算程序根据所述特征计算的配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置;
读取所述特征计算代码和特征计算的调度配置,对基础日志进行处理,获得各个维度的特征数据;
读取所述特征维度转换代码和特征维度转换的调度配置,对所述各个维度的特征数据进行维度转换处理,获得统一维度的特征数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
预定义特征计算的集合,进而基于所述集合编写特征计算的配置;并且
预定义特征计算的调度配置和预定义特征维度转换的调度配置。
3.根据权利要求2所述的方法,其特征在于,所述自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置,包括:
读取所述特征计算的配置;
根据所述特征计算的配置,以及预定义的特征计算的集合、预定义的特征计算的调度配置和预定义的特征维度转换的调度配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置。
4.根据权利要求1所述的方法,其特征在于,所述调度器为oozie调度器。
5.一种可配置的特征计算系统,其特征在于,包括:配置编写模块、调度器和特征计算模块;
所述配置编写模块用于根据特征计算的集合,编写特征计算的配置,其中,所述特征计算的集合内定义了计算符号以及计算法则;
所述调度器用于调度所述特征计算模块;
所述特征计算模块用于根据所述特征计算的配置,完成特征计算和特征维度的转换;
所述特征计算程序根据所述特征计算的配置,完成特征计算和特征维度的转换,包括:
所述特征计算程序根据所述特征计算的配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置;
读取所述特征计算代码和特征计算的调度配置,对基础日志进行处理,获得各个维度的特征数据;
读取所述特征维度转换代码和特征维度转换的调度配置,对所述各个维度的特征数据进行维度转换处理,获得统一维度的特征数据。
6.根据权利要求5所述的系统,其特征在于,还包括预定义模块,用于预定义特征计算的集合,进而配置编写模块基于所述集合编写特征计算的配置;以及预定义特征计算的调度配置和预定义特征维度转换的调度配置。
7.根据权利要求6所述的系统,其特征在于,所述特征计算模块包括:
配置读取单元,用于读取所述特征计算的配置;
生成单元,用于根据所述特征计算的配置,以及根据预定义的特征计算的集合、预定义的特征计算的调度配置和预定义的特征维度转换的调度配置,自动生成特征计算代码、特征计算的调度配置、特征维度转换代码和特征维度转换的调度配置。
8.根据权利要求5所述的系统,其特征在于,所述调度器为oozie调度器。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611253741.6A CN108279883B (zh) | 2016-12-30 | 2016-12-30 | 一种可配置的特征计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611253741.6A CN108279883B (zh) | 2016-12-30 | 2016-12-30 | 一种可配置的特征计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108279883A CN108279883A (zh) | 2018-07-13 |
CN108279883B true CN108279883B (zh) | 2021-11-26 |
Family
ID=62800205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611253741.6A Active CN108279883B (zh) | 2016-12-30 | 2016-12-30 | 一种可配置的特征计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108279883B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101151843A (zh) * | 2005-06-22 | 2008-03-26 | 中兴通讯股份有限公司 | 一种文本数据挖掘方法 |
CN103092980A (zh) * | 2013-01-31 | 2013-05-08 | 中国科学院自动化研究所 | 一种数据自动转换与存储的方法及系统 |
CN103164221A (zh) * | 2013-02-21 | 2013-06-19 | 用友软件股份有限公司 | 服务建模装置和服务建模方法 |
CN105894019A (zh) * | 2016-03-30 | 2016-08-24 | 北京京东尚科信息技术有限公司 | 一种数据库数据分类装置和方法 |
-
2016
- 2016-12-30 CN CN201611253741.6A patent/CN108279883B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101151843A (zh) * | 2005-06-22 | 2008-03-26 | 中兴通讯股份有限公司 | 一种文本数据挖掘方法 |
CN103092980A (zh) * | 2013-01-31 | 2013-05-08 | 中国科学院自动化研究所 | 一种数据自动转换与存储的方法及系统 |
CN103164221A (zh) * | 2013-02-21 | 2013-06-19 | 用友软件股份有限公司 | 服务建模装置和服务建模方法 |
CN105894019A (zh) * | 2016-03-30 | 2016-08-24 | 北京京东尚科信息技术有限公司 | 一种数据库数据分类装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108279883A (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108885632B (zh) | 用于实时数据流编程的高效状态机 | |
CN109143952B (zh) | 可编程逻辑控制器编程语言转换系统 | |
CN109189479A (zh) | 一种用于处理器指令集的并行自动化验证方法 | |
CN103942099A (zh) | 基于Hive的并行执行任务方法及装置 | |
CN109032056B (zh) | 可编程逻辑控制器编程语言转换方法 | |
US20150007150A1 (en) | Determining control flow divergence due to variable value difference | |
van Amstel et al. | Traceability visualization in model transformations with tracevis | |
CN113032257A (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
CN107391528B (zh) | 前端组件依赖信息搜索方法及设备 | |
CN113468196B (zh) | 用于处理数据的方法、装置、系统、服务器和介质 | |
CN109710523B (zh) | 视觉稿的测试用例生成方法及装置、存储介质、电子设备 | |
CN103793653A (zh) | 一种基于树优化的程序依赖关系分析方法及系统 | |
CN108279883B (zh) | 一种可配置的特征计算方法及系统 | |
CN105573763A (zh) | 一种支持rtos的嵌入式系统建模方法 | |
CN101561833B (zh) | 专用指令集处理器的设计方法 | |
CN106843822B (zh) | 一种执行代码生成方法及设备 | |
CN102096591A (zh) | 一种加快嵌入式Linux系统启动的方法 | |
CN111143228B (zh) | 基于决策表法的测试代码生成方法及装置 | |
Kulkarni et al. | Generating and analyzing test cases from software requirements using nlp and hadoop | |
US20140047447A1 (en) | Work scheduling method and system implemented via cloud platform | |
IN2013CH05996A (zh) | ||
JP6058498B2 (ja) | コンパイル方法、プログラム及びコンパイル装置 | |
CN116594887A (zh) | 一种基于cfd软件的自动化测试方法及系统 | |
CN108073643B (zh) | 任务处理方法和装置 | |
CN115809688A (zh) | 一种模型调试方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |