CN109284833B - 为机器学习模型获取特征数据的方法、设备和存储介质 - Google Patents
为机器学习模型获取特征数据的方法、设备和存储介质 Download PDFInfo
- Publication number
- CN109284833B CN109284833B CN201810962631.XA CN201810962631A CN109284833B CN 109284833 B CN109284833 B CN 109284833B CN 201810962631 A CN201810962631 A CN 201810962631A CN 109284833 B CN109284833 B CN 109284833B
- Authority
- CN
- China
- Prior art keywords
- flow
- characteristic data
- record
- feature data
- machine learning
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及用于为线上机器学习模型获取特征数据的方法、设备和存储介质。所述方法包括:根据线上机器学习模型要获取的特征数据查询预先配置的特征数据‑流量对应表,以得到与所述特征数据相对应的流量记录信息和转换运算;根据所述流量记录信息查询保存流量记录的数据库,对符合所述流量记录信息的流量记录的个数进行统计以得到统计结果;以及对所述统计结果执行所述转换运算,将运算结果作为所述线上机器学习模型要获取的所述特征数据。通过本公开的各实施例,能够提供为线上机器学习模型从流量记录的海量数据中及时获取实时特征数据的方案。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种为机器学习模型获取特征数据的方法、设备和存储介质。
背景技术
目前,对于线上机器学习模型所需的实时特征数据,是现场采集。例如,在人脸识别的应用场景中,需要现场使用摄像头进行拍照,然后拿照片进行比对。由于这种采集方式可能需要跨设备及进行网络传输,因此这种采集方式需要一定的时长,通常需要1秒甚至更多,从而不适合对时效要求高(一般只允许在几十毫秒内)的场景。
某些线上机器学习模型需要大量的频次特征数据、概率特征数据、组合特征数据等,在离线状态下由于没有时效要求而能够容易获取。然而,对于线上机器学习模型,并没有切实有效的实时特征数据获取方法。另外,有些场景有时效要求,需要及时获取实时特征数据,而现有方案不能满足该时效性要求。
发明内容
为解决以上问题中的一个或多个,本发明实施例提供了一种用于为线上机器学习模型获取特征数据的方法、计算设备和存储介质。
根据本公开的第一方面,提供一种用于为线上机器学习模型获取特征数据的方法,其包括:
根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表,以得到与所述特征数据相对应的流量记录信息和转换运算;
根据所述流量记录信息查询保存流量记录的数据库,对符合所述流量记录信息的流量记录的个数进行统计以得到统计结果;以及
对所述统计结果执行所述转换运算,将运算结果作为所述线上机器学习模型要获取的所述特征数据。
根据一示例性实施例,所述流量记录信息包括流量编号、流量维度值和流量发生时间段,并且所述流量记录包括流量编号、流量维度值和流量发生时间。
根据一示例性实施例,所述根据所述流量记录信息查询保存流量记录的数据库、对符合所述流量记录信息的流量记录的个数进行统计包括:
从数据库获取每个流量记录的流量编号、流量维度值和流量发生时间,并将其与所述流量记录信息的流量编号、流量维度值和流量发生时间段进行比较;
在流量记录的流量编号和流量维度值与所述流量记录信息相同并且流量发生时间在所述流量发生时间段范围内的情况下,将该流量记录判断为符合所述流量记录信息;以及
对符合所述流量记录信息的流量记录的个数进行统计。
根据一示例性实施例,在所述根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表之前,所述方法还包括:
根据预测的每个所需特征数据,确定相对应的流量记录的配置信息以及从所述相对应的流量记录转换成所述所需特征数据所需的转换运算,其中,所述配置信息包括所述相对应的流量记录的流量编号和要统计的流量维度;以及
将所述所需特征数据和所述流量记录的对应关系记载到所述特征数据-流量对应表中。
根据一示例性实施例,在所述根据所述流量记录信息查询保存流量记录的数据库之前,所述方法还包括:
根据所述配置信息对流量进行记录并保存到所述数据库以形成流量记录。
根据一示例性实施例,所述流量记录以ZSet数据结构保存在所述数据库中,其中对于每个流量记录,ZSet数据结构的key保存流量编号和流量维度值,ZSet数据结构的成员的分数保存流量发生的时间。
根据一示例性实施例,所述根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表、以得到与所述特征数据相对应的流量记录信息和转换运算,包括:
根据要获取的特征数据确定特征数据类型、流量维度值和流量的发生时间段;以及
根据所述特征数据类型,通过查询特征数据-流量对应表得到与所述特征数据类型相对应的流量编号和转换运算。
根据一示例性实施例,所述流量记录信息还包括去重字段,所述对符合所述流量记录信息的流量记录的个数进行统计包括:对符合所述流量记录信息的流量记录中具有相同去重字段值的多个流量记录只统计一个。
根据本公开的第二方面,提供一种用于为线上机器学习模型获取特征数据的装置,其包括处理模块和计数模块,其中:
所述计数模块的数据库中存储有流量记录,并被配置为:根据来自所述处理模块的流量记录信息查询所述数据库,对符合所述流量记录信息的流量记录的个数进行统计以得到统计结果;
所述处理模块被配置为:根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表,以得到与所述特征数据相对应的流量记录信息和转换运算,以及对来自所述计数模块的统计结果执行所述转换运算,将运算结果作为所述线上机器学习模型要获取的所述特征数据。
根据一示例性实施例,所述计数模块还被配置为:
根据配置信息对流量进行记录并保存到所述数据库以形成流量记录,其中所述配置信息包括流量记录的流量编号和要统计的流量维度。
根据本公开的第三方面,提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令在被所述处理器执行时,使得所述处理器执行如上所述的方法实施例中的任一个。
根据本公开的第四方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如上所述的方法实施例中的任一个。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开如上所述以及如下所述的各实施例,能够提供为线上机器学习模型及时获取实时数据的方案。根据一些实施例,通过以ZSet数据结构保存流量记录,使得从请求获取特征数据到得到结果的整个过程耗时不超过200ms,满足了业务风险决策平台的时效性要求。另外,根据另一些实施例,通过根据预先设置的流量配置信息对流量进行记录和保存,可满足不同场景下的机器学习模型的特征数据需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
图1是根据一示例性实施例示出的一种用于为线上机器学习模型获取特征数据的方法的示意流程图。
图2是根据图1对应实施例示出的特征数据获取方法中步骤S110的一种示例性具体实现方式的示意流程图。
图3是根据图1对应实施例示出的特征数据获取方法在步骤S110之前所包括的步骤示意图。
图4是根据图1对应实施例示出的特征数据获取方法中步骤S120的一种示例性具体实现方式的示意流程图。
图5是根据一示例性实施例示出的用于为线上机器学习模型获取特征数据的装置的示意组成框图。
图6是根据一示例性实施例示出的计算设备的示意组成框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的示例性实施例进行进一步详细说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
图1是根据一示例性实施例示出的一种用于为线上机器学习模型获取特征数据的方法的示意流程图。该线上机器学习模型运行在一应用平台上,有多个其他应用通过网络接入该应用平台以使用该应用平台提供的服务。应用平台和其他应用可以分别部署运行在一个或多个机器上,用户可以通过客户端设备经由网络访问其他应用,或者可以直接在运行机器上访问其他应用。线上机器学习模型所需的实时特征数据为对用户访问接入应用平台的其他应用所产生的数据的统计运算结果。本公开各实施例的用于为线上机器学习模型获取特征数据的方法可以由该应用平台或者说由部署有该应用平台的机器设备来执行。图1所示的示例性方法包括步骤:
S110,根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表,以得到与所述特征数据相对应的流量记录信息和转换运算。
在一个示例中,线上机器学习模型可以向应用平台发出特征数据获取请求,在请求中指明要获取的特征数据。例如,可以在特征数据获取请求中指明要获取的特征数据为“10.10.125.10这个IP最近一天内访问应用A的用户数”。
在应用平台上存储有预先配置的特征数据-流量对应表,该表中记载有特征数据与流量记录之间的对应关系。每个要获取的特征数据可以对应一种或多种流量记录。通过分析要获取的特征数据,查询特征数据-流量对应表,可以获得与要获取的特征数据相对应的流量记录信息(即要统计的流量记录的信息)以及从统计结果转换成要获取的特征数据所需的转换运算。流量记录信息可以包括流量编号、流量维度值和流量发生时间段。
S120,根据流量记录信息查询保存流量记录的数据库,对符合流量记录信息的流量记录的个数进行统计以得到统计结果。
在应用平台的数据库中保存有预先记录的流量记录,通过对符合流量记录信息的流量记录的个数进行统计可以得到相应的统计结果。
S130,对统计结果执行在步骤S110中确定的转换运算,将运算结果作为线上机器学习模型要获取的特征数据。
如前所述,从统计结果转换到要获取的特征数据需要经过一定转换运算。这里所述的“转换运算”包括统计结果经过转换运算后还是该统计结果的情况,即可以对统计结果不进行转换运算而直接将其作为要获取的特征数据。在一些示例中,转换运算可以包括如下中的一种或多种:不进行转换运算(或对统计结果无改变的转换运算);对流量记录的统计结果自身进行的逻辑运算(例如,求平方等);将流量记录的统计结果与外部参数一起进行逻辑运算(例如,加、减、乘、除等或其组合);在特征数据对应多种流量记录的情况下,将多种流量记录的统计结果进行逻辑运算(例如,加、减、乘、除等或其组合)。其中,外部参数可以是应用平台能够获取的历史统计数据、其他预先设置的值或通过其他途径获取的参数值。
图2是根据图1对应实施例示出的特征数据获取方法中步骤S110的一种示例性具体实现方式的示意流程图。如图2的示例性实施例所示,步骤S110可以包括:
S210,根据要获取的特征数据确定特征数据类型、流量维度值和流量的发生时间段。
例如,如果要获取的特征数据为“10.10.125.10这个IP最近一天内访问应用A的用户数”,则通过分析可以得到其对应的特征数据类型为“IP地址访问应用A的用户数”,流量维度值为“IP地址10.10.125.10”,流量发生的时间段为“最近一天内”。在一个示例中,在机器学习模型发送的特征数据获取请求中会记载要获取的特征数据的关键字段及其相应值,例如,列出流量维度字段及其相应值“IP地址10.10.125.10”,流量发生时间段字段及其相应值“最近一天内”,以及特征数据类型字段及其相应值“IP地址访问应用A的用户数”。通过分析特征数据获取请求或者通过分析要获取的特征数据,可以确定要获取的特征数据确定特征数据类型、流量维度值和流量的发生时间段。要获取的具体特征数据是在其所属的特征数据类型基础上指明了流量维度值、流量发生时间段和/或其他属性值。
S220,根据特征数据类型,通过查询特征数据-流量对应表得到与特征数据类型相对应的流量编号和转换运算。
如前所述,应用平台可以保存或获取预先配置的特征数据-流量对应表,该表可以记载指明了流量维度值、流量发生时间段的具体特征数据与流量记录之间的对应关系,也可以记载未指明流量维度值、流量发生时间段的特征数据类型与流量记录之间的对应关系,后者的查询效率更高。所述对应关系可以包括:每个特征数据类型(或特征数据)所对应的一种或多种流量记录的流量编号,以及由所述一个或多个流量记录的统计结果转成要获取的特征数据所需的转换运算,其中流量编号是对一种流量记录的标识,具有该流量编号的这种流量记录在数据库中可以包括一个或多个流量记录。例如,在该表中记载有,特征数据类型“IP地址访问应用A的用户数”对应的流量记录的流量编号为“F1031000014”,所需的转换运算为“无转换运算”。可选地,该对应表中还可以记载有相对应的流量记录所统计的流量维度以及其他属性,例如,在表中示出流量编号为“F1031000014”的流量记录所统计的流量维度为IP地址,还可以记载其他属性字段为用户账号。可选地,在对应表中还可以记载去重字段,以便在统计相对应的流量记录以生成特征数据时根据去重字段进行统计,即,在步骤S120中对符合流量记录信息的流量记录中具有相同去重字段值的多个流量记录只统计一个。例如,在特征数据类型“IP地址访问应用A的用户数”与流量编号“F1031000014”的对应关系中定义了去重字段“用户账号”,那么在统计符合流量编号为“F1031000014”、流量维度值为“IP地址10.10.125.10”,流量发生时间在“最近一天内”的流量记录时,对于具有相同用户账号的流量记录只统计一个流量记录,以准确地生成特征数据需要的统计结果。
图3是根据图1对应实施例示出的特征数据获取方法在步骤S110之前所包括的步骤示意图。如图3的示例性实施例所示,在步骤S110之前,用于为线上机器学习模型获取特征数据的方法还可以包括步骤:
S310,根据预测的每个所需特征数据,确定相对应的流量记录的配置信息以及从相对应的流量记录转换成所需特征数据所需的转换运算,其中,所述配置信息包括相对应的流量记录的流量编号和要统计的流量维度。
在一个实施例中,这里所述的“所需特征数据”指代指明了流量维度值、流量发生时间段的具体特征数据。在另一实施例中,这里所述的“所需特征数据”指代未指明流量维度值、流量发生时间段的特征数据类型。在后一实施例中,可以先预测线上机器学习模型可能会用到的特征数据类型,然后确定如何配置流量记录才能得到与该特征数据类型相匹配的统计结果,即确定流量记录的配置信息。在一个示例中,配置信息可以包括流量记录要统计的流量维度,以及用于标识这种流量记录的流量编号。在该步骤中还需确定所需特征数据与流量记录之间的转换关系,即从流量记录转换成特征数据所需的转换运算。在一个示例中,在步骤S310中还确定相应的去重字段。
S320,将所需特征数据和流量记录的对应关系记载到特征数据-流量对应表中。
在一个示例中,需要记载到特征数据-流量对应表中的内容包括与特征数据类型相对应的流量编号以及所需的转换运算。在另一示例中,记载到对应表中的内容除了以上内容外,还包括相对应的流量记录的去重字段。
S330,根据配置信息对流量进行记录并保存到数据库以形成流量记录。
本文中所述的“流量”可以指用户对接入应用平台的应用的访问,“流量记录”是指对该访问所进行的数据记录。在步骤S310确定了流量记录的配置信息后,可以根据配置信息针对用户对接入应用平台的应用的访问进行记录,并保存到数据库中。配置信息指定了进行流量记录时要统计/记载的流量维度字段,其是根据所需特征数据确定出来的,还可以指定要统计/记载的其他流量属性字段,其他流量属性字段可以不是根据所需特征数据确定出来的。
配置信息可以通过应用平台的流量配置接口接收,一旦接收了配置信息,就按照配置信息的指定进行流量记录并保存到数据库中。配置信息的接收在机器学习模型上线前或运行中都可以进行。
通过预先确定并接收配置信息,根据配置信息实时进行流量记录并将流量记录保存到数据库中,可以可定制化地满足不同场景下的机器学习模型的特征数据需求。
在一个实施例中,流量记录以ZSet数据结构保存在数据库中,其中对于每个流量记录,ZSet数据结构的key保存流量编号和流量维度值,ZSet数据结构的成员保存流量的其他属性值,ZSet数据结构的成员的分数保存流量发生时间。数据库可以是Redis数据库类型。
通过以这种数据结构保存流量记录,使得查询和获取流量记录数据的速度非常快。通过预先进行和保存与所需的特征数据相匹配的流量记录,而非在需要特征数据时再开始进行流量记录并统计,使得应用平台的线上机器学习模型从请求获取特征数据到得到结果的整个过程耗时不超过200ms,满足了应用平台的时效性要求。
图4是根据图1对应实施例示出的特征数据获取方法中步骤S120的一种示例性具体实现方式的示意流程图。如图4的示例性实施例所示,步骤S120可以包括步骤:
S410,从数据库获取每个流量记录的流量编号、流量维度值和流量发生时间,并将其与流量记录信息的流量编号、流量维度值和流量发生时间段进行比较。
如上所述,流量记录以ZSet数据结构保存在数据库中,通过读取ZSet数据结构的key值可以获得流量编号+流量维度值,通过读取ZSet数据结构的成员值可以获得流量记录的其他属性值,通过读取ZSet数据结构的成员的分数可以获得流量发生时间。通过将流量记录与流量记录信息的相应值进行比较,可以判断流量记录是否是满足要获取的特征数据要求的流量记录。
S420,在流量记录的流量编号和流量维度值与流量记录信息相同并且流量发生时间在流量发生时间段范围内的情况下,将该流量记录判断为符合流量记录信息。
S430,对符合流量记录信息的流量记录的个数进行统计。
在一个示例中,当查询特征数据和对应表时还查询到了相应的去重字段时,还根据去重字段对流量记录进行去重后再进行统计,即,对符合所述流量记录信息的流量记录中具有相同去重字段值的多个流量记录只统计一个。
下面根据三个示例来进一步说明本发明各实施例的用于为线上机器学习模型获取特征数据的方法。
示例1
线上机器学习模型请求获取特征数据“10.10.125.10这个IP最近一天内访问应用A的用户数”。通过分析,可以确定相应的特征数据类型为“IP地址访问应用A的用户数”,流量维度值为“IP地址10.10.125.10”,流量发生时间段为“最近一天内”。
通过查询特征数据-流量对应表,发现与该特征数据类型相对应的流量编号为“F1031000014”,相对应的转换运算为无转换运算,相对应的去重字段为“用户账号”。
根据上述这些流量记录信息在数据库中查询流量记录,对key值为“F1031000014+IP地址10.10.125.10”、成员的分数值在最近一天内的流量记录,根据去重字段去重后进行统计计数(假设去重后有10条这样的流量记录),得到统计结果(10)。对于该统计结果,由于没有相对应的转换运算,因此可把其直接作为特征数据提供给机器学习模型。
在这个示例1中,针对“某IP地址访问应用A的用户数”这一类型的特征数据事先已经配置了流量“F1031000014”,其流量配置信息可以如下:流量编号为F1031000014,统计类型为访问次数,统计维度为IP地址,统计的其他属性为用户账号。
示例2
线上机器学习模型请求获取特征数据“最近一天内IP地址10.10.125.10对wifi名称的发散率”。通过分析,可以确定相应的特征数据类型为“IP地址对wifi名称的发散率”,流量维度值为“IP地址10.10.125.10”,流量发生时间段为“最近一天内”。
通过查询特征数据-流量对应表发现,与该特征数据类型相对应的流量编号为“F1031000015”和“F1031000016”,即对应两种流量记录,还发现相对应的转换运算为将流量编号“F1031000015”的统计结果除以流量编号“F1031000016”的统计结果,其中流量编号“F1031000015”的相应去重字段为“wifi名称”。
根据上述这些流量记录信息在数据库中查询流量记录,对key为“F1031000015+IP地址10.10.125.10”、成员的分数值在最近一天内的流量记录,根据去重字段进行统计计数(假设去重后有20条这样的流量记录),得到第一统计结果(20),并对key为“F1031000016+IP地址10.10.125.10”、成员的分数值在最近一天内的流量记录进行统计计数(假设有100条这样的流量记录),得到第二统计结果(100)。
根据查询得到的转换运算,将第一统计结果除以第二统计结果,得到运算结果(1/5),将其作为机器学习模型要获取的特征数据提供给机器学习模型。
在这个示例2中,针对“某IP地址对wifi名称的发散率”这一类型的特征数据事先已经配置了两条流量“F1031000015”和“F1031000016”。F1031000015的流量配置信息可以如下:流量编号为F1031000015,统计类型为次数,统计维度为IP地址,其他属性字段为wifi名称。F1031000016的流量配置信息可以如下:流量编号为F1031000016,统计类型为次数,统计维度为IP地址。
示例3
在示例3中需要注意的是,应用平台不仅预先配置和保存特征数据-流量对应表,还预先配置和保存特征数据-离线统计对应表。其中,离线统计为对数据库中保存的流量记录进行统计运算(例如,求平均值,求方差,等等)而得到的离线统计记录,这样的统计记录具有记录编号、统计维度、统计属性和统计属性值等信息。这些统计记录同样以ZSet数据结构保存在数据库中,其中对于每个统计记录,ZSet数据结构的key保存记录编号和统计维度值,ZSet数据结构的成员保存统计记录的统计属性,ZSet数据结构的成员的分数保存统计属性值。
在示例3中,线上机器学习模型请求获取特征数据“IP地址10.10.125.10按天统计的用户对应用A的访问数均值及方差”。通过分析要获取的特征数据,可以得到维度值、统计属性及特征数据类型。例如,通过分析如上所述的特征数据,可以确定维度值为“IP地址10.10.125.10”,统计属性为“均值mean”和“方差variance”,对应的特征数据类型为“按天统计的IP地址对应用A的访问数”。
在既存在特征数据-流量对应表,又存在特征数据-离线统计对应表的情况下,在一个示例中,如果根据要获取的特征数据包括“统计属性”字段,则根据特征数据类型和统计属性两者查询特征数据-离线统计对应表。
在示例3中,通过查询特征数据-离线统计对应表发现,与该特征数据类型和统计属性相对应的为离线统计记录S1031000020。根据这些离线统计信息(记录编号、统计维度值和统计属性等),在数据库中查询记录编号为S1031000020、key为“IP地址10.10.125.10EX”(key中的EX表示该key的数据来源于离线统计)的离线统计记录,并获取该离线统计记录的成员分别为“mean”和“variance”的成员分数值(例如230和5.7),然后将获取到的两个值作为特征数据提供给机器学习模型。
在查询和获取离线统计记录之前,在应用平台上已经根据预先确定的离线统计配置信息对流量记录进行了统计,并形成了离线统计记录保存在数据库中。离线统计记录S1031000020的配置信息可以如下所示:统计维度为IP地址,统计属性分别为mean和variance,指定该离线统计记录获取的是“IP地址10.10.125.10按天统计的用户对应用的访问数统计均值和方差”。
图5是根据一示例性实施例示出的用于为线上机器学习模型获取特征数据的装置的示意组成框图。该示例装置501用于执行如上所述的用于为线上机器学习模型获取特征数据的方法。如图5的示例中所示,该装置501可以包括处理模块510和计数模块520,其中:
计数模块520的数据库中存储有流量记录,计数模块520被配置为:根据来自处理模块510的流量记录信息查询数据库,对符合流量记录信息的流量记录的个数进行统计以得到统计结果;
处理模块510被配置为:根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表,以得到与特征数据相对应的流量记录信息和转换运算,以及对来自计数模块520的统计结果执行转换运算,将运算结果作为线上机器学习模型要获取的特征数据。
根据一示例性实施例,计数模块520还被配置为:
根据配置信息对流量进行记录并保存到所述数据库以形成流量记录,其中所述配置信息包括流量记录的流量编号和要统计的流量维度。
在如上所述的各方法实施例中,根据配置信息进行流量记录并保存在数据库中的步骤、查询数据库并统计符合流量记录信息的流量记录的步骤可以由计数模块520来执行,其他步骤可以由处理模块510来执行。
上述装置中各个单元/模块的功能和作用的实现过程以及相关细节具体详见上述方法实施例中对应步骤的实现过程,在此不再赘述。
以上各实施例中的装置实施例可以通过硬件、软件、固件或其组合的方式来实现,并且其可以被实现为一个单独的装置,也可以被实现为各组成单元/模块分散在一个或多个计算设备中并分别执行相应功能的逻辑集成系统。
以上各实施例中组成特征数据获取装置的各单元/模块是根据逻辑功能而划分的,它们可以根据逻辑功能被重新划分,例如可以通过更多或更少的单元/模块来实现该装置。这些组成单元/模块分别可以通过硬件、软件、固件或其组合的方式来实现,它们可以是分别的独立部件,也可以是多个组件组合起来执行相应的逻辑功能的集成单元/模块。所述硬件、软件、固件或其组合的方式可以包括:分离的硬件组件,通过编程方式实现的功能模块、通过可编程逻辑器件实现的功能模块,等等,或者以上方式的组合。
根据一个示例性实施例,特征数据获取装置可被实现为一种计算设备,该计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述处理器执行如上所述的各方法实施例中的任一个,即,所述计算机程序在被所述处理器执行时使得该计算设备实现如上所述的特征数据获取装置各实施例的组成单元/模块所实现的功能。
上面的实施例中所述的处理器可以指单个的处理单元,如中央处理单元CPU,也可以是包括多个分散的处理单元的分布式处理器系统。
上面的实施例中所述的存储器可以包括一个或多个存储器,其可以是计算设备的内部存储器,例如暂态或非暂态的各种存储器,也可以是通过存储器接口连接到计算设备的外部存储装置。
图6示出了这样的计算设备601的一个示例性实施例的示意组成框图。如图6所示,计算设备601可以包括:处理器610、通信接口620、存储器630和总线640。存储器630内存储有可被处理器610执行的计算机程序。处理器610执行所述计算机程序时实现上述实施例中的方法及装置的功能。存储器630和处理器610的数量分别可以为一个或多个。通信接口620用于处理器610与外部设备之间的通信。
其中,处理器610可以是中央处理单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的流程步骤、功能单元/模块和/或电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合、数字信号处理器等等。
存储器630可以包括易失性存储器和/或非易失性存储器,例如非易失性动态随机存取存储器、相变随机存取存储器、磁阻式随机存取存储器、磁盘存储器、电子可擦除可编程只读存储器、闪存器件、半导体器件(例如固态硬盘)等。存储器630可选地还可以是外部远程存储装置。
总线640可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。可选地,如果存储器630、处理器610及通信接口620集成在一块芯片上,则存储器630、处理器610及通信接口620可以通过内部接口完成相互间的通信。
以上各方法和装置实施例还可以被实现为计算机程序的形式,被存储在存储介质上,并且可被分发。因此,根据本公开的另一方面,还提供一种存储介质,其上存储有可供处理器执行的计算机程序,所述计算机程序在被处理器执行时实现如上所述的各方法和装置实施例中的任一个。
该存储介质可以是任何可以保持和存储可由指令执行设备使用的指令的有形设备。例如,其可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机程序/计算机指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
本公开中所述的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种用于为线上机器学习模型获取特征数据的方法,其特征在于,包括:
根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表,以得到与所述特征数据相对应的流量记录信息和转换运算,所述流量记录信息包括流量编号、流量维度值和流量发生时间段,所述流量编号是对流量记录的标识,所述流量维度值指的是流量记录的流量维度字段对应的值;
其中,根据所述流量记录信息查询保存流量记录的数据库,对符合所述流量记录信息的流量记录的个数进行统计以得到统计结果,包括:
从数据库获取每个流量记录的流量编号、流量维度值和流量发生时间,并将其与所述流量记录信息的流量编号、流量维度值和流量发生时间段进行比较;
在流量记录的流量编号和流量维度值与所述流量记录信息相同并且流量发生时间在所述流量发生时间段范围内的情况下,将该流量记录判断为符合所述流量记录信息;
对符合所述流量记录信息的流量记录的个数进行统计以得到统计结果;
对所述统计结果执行所述转换运算,将运算结果作为所述线上机器学习模型要获取的所述特征数据。
2.如权利要求1所述的方法,其特征在于,在所述根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表之前,所述方法还包括:
根据预测的每个所需特征数据,确定相对应的流量记录的配置信息以及从所述相对应的流量记录转换成所述所需特征数据所需的转换运算,其中,所述配置信息包括所述相对应的流量记录的流量编号和要统计的流量维度;以及
将所述所需特征数据和所述流量记录的对应关系记载到所述特征数据-流量对应表中。
3.如权利要求2所述的方法,其特征在于,在所述根据所述流量记录信息查询保存流量记录的数据库之前,所述方法还包括:
根据所述配置信息对流量进行记录并保存到所述数据库以形成流量记录。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述流量记录以ZSet数据结构保存在所述数据库中,其中对于每个流量记录,ZSet数据结构的key保存流量编号和流量维度值,ZSet数据结构的成员的分数保存流量发生的时间。
5.如权利要求1-3中任一项所述的方法,其特征在于,所述根据线上机器学习模型要获取的特征数据查询预先配置的特征数据-流量对应表、以得到与所述特征数据相对应的流量记录信息和转换运算,包括:
根据要获取的特征数据确定特征数据类型、流量维度值和流量的发生时间段;以及
根据所述特征数据类型,通过查询特征数据-流量对应表得到与所述特征数据类型相对应的流量编号和转换运算。
6.如权利要求1-3中任一项所述的方法,其特征在于,所述流量记录信息还包括去重字段,所述对符合所述流量记录信息的流量记录的个数进行统计包括:对符合所述流量记录信息的流量记录中具有相同去重字段值的多个流量记录只统计一个。
7.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述的方法。
8.一种存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810962631.XA CN109284833B (zh) | 2018-08-22 | 2018-08-22 | 为机器学习模型获取特征数据的方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810962631.XA CN109284833B (zh) | 2018-08-22 | 2018-08-22 | 为机器学习模型获取特征数据的方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284833A CN109284833A (zh) | 2019-01-29 |
CN109284833B true CN109284833B (zh) | 2023-07-18 |
Family
ID=65183382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810962631.XA Active CN109284833B (zh) | 2018-08-22 | 2018-08-22 | 为机器学习模型获取特征数据的方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284833B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275903A (zh) * | 2019-06-28 | 2019-09-24 | 第四范式(北京)技术有限公司 | 提高机器学习样本的特征生成效率的方法及系统 |
CN111832740A (zh) * | 2019-12-30 | 2020-10-27 | 上海氪信信息技术有限公司 | 一种对结构化数据实时衍生机器学习用特征的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495420B2 (en) * | 2013-05-22 | 2016-11-15 | International Business Machines Corporation | Distributed feature collection and correlation engine |
CN104506538B (zh) * | 2014-12-26 | 2018-01-19 | 北京奇虎科技有限公司 | 机器学习型域名系统安全防御方法和装置 |
US9940360B2 (en) * | 2015-05-19 | 2018-04-10 | Sybase, Inc. | Streaming optimized data processing |
CN107707509B (zh) * | 2016-08-08 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 识别及辅助识别虚假流量的方法、装置及系统 |
CN107357812A (zh) * | 2017-05-31 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN111079942B (zh) * | 2017-08-30 | 2023-03-24 | 第四范式(北京)技术有限公司 | 执行机器学习的分布式系统及其方法 |
-
2018
- 2018-08-22 CN CN201810962631.XA patent/CN109284833B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109284833A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855473B (zh) | 一种监控方法、装置、服务器及存储介质 | |
WO2019140828A1 (zh) | 电子装置、分布式系统日志查询方法及存储介质 | |
CN109284321B (zh) | 数据加载方法、装置、计算设备和计算机可读存储介质 | |
CN111163072B (zh) | 机器学习模型中特征值的确定方法、装置及电子设备 | |
US11321318B2 (en) | Dynamic access paths | |
AU2021244852B2 (en) | Offloading statistics collection | |
CN109271564B (zh) | 保单查询方法及设备 | |
CN109284833B (zh) | 为机器学习模型获取特征数据的方法、设备和存储介质 | |
CN111368227A (zh) | 一种url处理方法以及装置 | |
CN109560940B (zh) | 一种内容分发网络cdn服务的计费方法及装置 | |
CN105554181B (zh) | 一种dns日志压缩方法和装置 | |
CN111212153A (zh) | Ip地址核查方法、装置、终端设备及存储介质 | |
CN116155597A (zh) | 访问请求的处理方法、装置及计算机设备 | |
US10664501B2 (en) | Deriving and interpreting users collective data asset use across analytic software systems | |
CN115905371A (zh) | 数据趋势分析方法、装置、设备及计算机可读存储介质 | |
US11134054B2 (en) | Classification of a domain name | |
US11218487B1 (en) | Predictive entity resolution | |
CN112966029A (zh) | 一种信息显示和发送方法、装置、设备和可读介质 | |
US11023226B2 (en) | Dynamic data ingestion | |
CN110119337B (zh) | 一种数据分析方法、装置及服务器 | |
US9508062B2 (en) | Problem management record profiling | |
US8423532B1 (en) | Managing data indexed by a search engine | |
CN116483735B (zh) | 一种代码变更的影响分析方法、装置、存储介质及设备 | |
US11449487B1 (en) | Efficient indexing of columns with inappropriate data types in relational databases | |
CN116305288B (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 |