发明内容
本说明书描述了一种用户特征值的确定方法,通过离线业务数据计算离线累计特征,以及基于在线业务数据计算在线累计特征,再将离线累计特征与在线累计特征进行合并,作为实时用户特征值,如此,可以快速、准确地确定出针对用户特征的实时特征值。
第一方面,提供了一种用户特征值的确定方法。该方法包括:获取针对第一用户特征的离线累计特征值,所述离线累计特征值由离线处理平台基于已同步的、第一同步周期届满时刻之前的离线业务数据而预先确定;获取针对所述第一用户特征的在线明细数据,所述在线明细数据基于所述第一同步周期届满时刻之后产生的在线业务数据而确定;基于所述在线明细数据,计算针对所述第一用户特征的在线累计特征值;将所述离线累计特征值与所述在线累计特征值进行合并,将合并结果确定为针对所述第一用户特征的实时特征值。
在一个实施例中,在所述获取针对第一用户特征的离线累计特征值之前,所述方法还包括:接收针对所述第一用户特征的查询请求,所述查询请求中包括多个查询参数,所述多个查询参数中至少包括用户标识信息和所述第一用户特征的标识信息。
进一步地,在一个具体的实施例中,所述多个查询参数中还包括所述第一用户特征对应的统计截至时刻。
在一个实施例中,所述离线业务数据中包括业务系统的系统日志和整理为数据库表的业务记录。
在一个实施例中,所述离线累计特征值基于以下步骤而预先确定:在第一同步周期届满时,将所述第一同步周期内新生成的业务数据同步至所述离线处理平台,与所述离线处理平台中已存储的所述同步之前的历史离线业务数据组合得到所述离线业务数据;在所述离线处理平台中,基于所述离线业务数据,计算所述离线累计特征值。
在一个实施例中,所述离线累计特征值基于以下步骤而预先确定:在第一同步周期届满时,将所述第一同步周期内新生成的业务数据同步至离线处理平台;在所述离线处理平台中,基于所述新生成的业务数据计算针对所述第一用户特征的新增离线累计特征值;获取所述同步之前基于历史离线业务数据而确定的历史离线累计特征值;将所述历史离线累计特征值和所述新增离线累计特征值合并,得到所述离线累计特征值。
在一个实施例中,在所述获取针对所述第一用户特征的在线明细数据之前,所述方法还包括:
确定所述离线累计特征值对应的所述第一同步周期届满时刻;
所述获取针对所述第一用户特征的在线明细数据,包括:
获取在所述第一同步周期届满时刻之后的在线明细数据。
在一个实施例中,在所述获取针对所述第一用户特征的在线明细数据之前,所述方法还包括:
确定所述离线累计特征值对应的所述第一同步周期届满时刻;
所述获取针对所述第一用户特征的在线明细数据,包括:
获取在所述第一同步周期届满时刻之后以及所述统计截止时刻之前的在线明细数据。
在一个实施例中,所述获取针对所述第一用户特征的在线明细数据,包括:从数据库表中获取所述在线明细数据,所述数据库表用于存储按照标准格式解析的在线业务数据。
在一个实施例中,所述第一用户特征为以下中的任一种:支付笔数、支付天数、支付红包领取次数、支付红包使用次数。
第二方面,提供了一种用户特征值的确定装置。该装置包括:第一获取单元,配置为获取针对第一用户特征的离线累计特征值,所述离线累计特征值由离线处理平台基于已同步的、第一同步周期届满时刻之前的离线业务数据而预先确定;第二获取单元,配置为获取针对所述第一用户特征的在线明细数据,所述在线明细数据基于所述第一同步周期届满时刻之后产生的在线业务数据而确定;计算单元,配置为基于所述在线明细数据,计算针对所述第一用户特征的在线累计特征值;合并单元,配置为将所述离线累计特征值与所述在线累计特征值进行合并,将合并结果确定为针对所述第一用户特征的实时特征值。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序。当所述计算机程序在计算机中执行时,令计算机执行上述第一方面中任一种实施方式提供的方法。
第四方面,提供了一种计算设备,包括存储器和处理器。所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述第一方面中任一种实施方式提供的方法。
在本说明书提供的一种用户特征值的确定方法及装置中,通过离线方式引入业务数据以计算离线累计特征值,通过在线方式将业务数据落入在线数据存储表中,进一步的地,当接收到针对用户特征的查询请求时,或者在其他需要确定用户特征的情况下,通过在线数据存储表中的在线明细数据计算在线累计特征值,与查询到的离线累计特征值进行合并,作为返回的针对用户特征的实时特征值。如此,可以快速、准确地确定出实时的用户特征值。
具体实施方式
下面结合附图,对本说明书披露的多个实施例进行描述。
如前所述,要求提供实时用户特征。具体地,通常是提供用户特征对应的用户特征值。例如,用户特征为支付笔数,相应需要提供的用户特征值为支付笔数的累计数值。
为了更加快速、准确地确定实时用户特征,本说明书一个或多个实施例提供一种用户特征值的确定方法及装置,图1示出根据一个实施例的用于实现所述方法的系统架构图。如图1所示,业务系统110中不断产生新的业务数据,一方面,离线处理平台120按照预定的同步周期,如24h,将业务系统110中在T-1日内产生的业务数据同步至离线处理平台120中,离线处理平台120利用同步得到的T-1日离线业务数据和此次同步之前的历史离线业务数据,计算T-1日对应的离线累计特征值;另一方面,在线处理平台140对接业务系统中实时产生的业务数据,将获取的在线业务数据按照标准格式进行解析,并将解析得到的在线明细数据存储至在线存储系统150中;在查询系统160发出用户特征查询请求的情况下,从在线存储系统150中获取近1日的在线明细数据,计算得到在线累计特征值,与从离线存储系统130中获取的T-1日对应的离线累计特征值进行合并,得到实时特征值,返回给查询系统160。
如此,通过计算离线累计特征,可以降低在线明细数据的计算量,进而快速、准确地提供实时特征值,同时,提高数据的复用性和标签灵活性,快速支撑新的实时标签需求。下面,结合实施例描述所述方法的具体实施步骤。
图2示出根据一个实施例的用户特征值的确定方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置。如图2所示,所述方法包括以下步骤:步骤S210,获取针对第一用户特征的离线累计特征值,所述离线累计特征值由离线处理平台基于已同步的、第一同步周期届满时刻之前的离线业务数据而预先确定;步骤S220,获取针对所述第一用户特征的在线明细数据,所述在线明细数据基于所述第一同步周期届满时刻之后产生的在线业务数据而确定;步骤S230,基于所述在线明细数据,计算针对所述第一用户特征的在线累计特征值;步骤S240,将所述离线累计特征值与所述在线累计特征值进行合并,将合并结果确定为针对所述第一用户特征的实时特征值。以上步骤具体如下:
首先,在步骤S210,获取针对第一用户特征的离线累计特征值,所述离线累计特征值由离线处理平台基于已同步的、第一同步周期届满时刻之前的离线业务数据而预先确定。
在一个实施例中,上述第一用户特征可以为支付笔数、或支付天数、或支付红包领取次数、或支付红包使用次数,等等。相应地,上述离线累计特征值为基于离线业务数据而确定的针对所述第一用户特征的累计数值,如5或10,等等。
在一个实施例中,上述离线业务数据可以包括业务系统的系统日志和整理为数据库表的业务记录。在一个具体的实施例中,业务系统所对应的业务可以有多种,如供应业务、采购业务、支付业务、咨询业务等等。在一个具体的实施例中,上述系统日志可以包括通过在客户端中埋点而采集到的日志数据,例如,在支付客户端中对支付图标进行埋点,相应地,当客户端接收到用户对支付图标的触发指令时,即向业务系统上报对应的用户操作数据。在一个具体的实施例中,上述整理为数据表的业务记录可以包括交易记录。在一个例子中,交易记录可以包括交易方信息、交易内容、交易时间等交易数据。
在一个实施例中,上述离线累计特征值可以基于以下步骤而预先确定:首先,在第一同步周期届满时,将第一同步周期内新生成的业务数据同步至离线处理平台。接着,在一个具体的实施例中,可以从新生成的业务数据中提取与第一用户特征相关的业务数据,与离线处理平台中已存储的所述同步之前的与第一用户特征相关的历史离线业务数据组合得到上述离线业务数据,再在离线处理平台中,基于所述离线业务数据,计算所述离线累计特征值。在一个例子中,其中基于离线业务数据计算离线累计特征值,可以基于预先设定的业务逻辑实现。在另一个具体的实施例中,还可以在所述离线处理平台中,基于新生成的业务数据计算针对第一用户特征的新增离线累计特征值,并且,获取所述同步之前基于历史离线业务数据而确定的历史离线累计特征值,再将所述历史离线累计特征值和所述新增离线累计特征值合并,得到所述离线累计特征值。在一个例子中,可以将二者的和值确定为所述离线累计特征值。
如此,可以预先确定出针对第一用户特征的离线累计特征值。相应地,在本步骤中,可以获取到所述离线累计特征值。
另一方面,在一个实施例中,在本步骤之前,还可以包括:接收针对所述第一用户特征的查询请求。在一个具体的实施例中,上述查询请求中可以包括多个查询参数,且多个查询参数中至少包括用户标识信息和所述第一用户特征的标识信息。在一个例子中,用户标识信息可以为业务系统为用户分配的用于唯一标识用户身份的序列号,或者,可以为用户的注册账号,等等。在一个例子中,用户标识信息可以为所述方法的执行主体为第一用户特征分配的用于唯一标识该特征的序列号等。
进一步地,在一个更具体的实施例中,上述多个查询参数中还可以包括场景标识信息,用于标识第一用户特征所对应的场景。在某些情况下,定义的第一用户特征可以存在于多种不同的场景下。例如,第一用户特征可以为支付笔数,其对应的场景可以包括淘宝交易场景、天猫交易场景或者线下门店交易场景,等等。因此,需要场景标识信息指明具体的对应场景。
在另一个更具体的实施例中,上述多个查询参数中还可以包括第一用户特征对应的统计截至时刻。在一个例子中,统计截至时刻可以为上述查询请求的生成时刻。在另一个例子中,统计截至时刻可以为查询请求的发起者自定义的时刻。
相应地,本步骤可以包括:基于所述查询请求,获取针对第一用户特征的离线累计特征值。在一个具体的实施例中,在上述查询请求包括上述统计截至时刻这一查询参数的情况下,可以进一步判断出统计截至时刻是否在上述第一同步周期届满时刻之前。更进一步地,一方面,若在之前,则可以将获取的离线累计特征值直接作为查询到的用户特征值返回给查询系统。另一方面,若在之后,则继续执行下述步骤S220。
由上,可以获取针对第一用户特征的离线累计特征值。接着,在步骤S220,获取针对所述第一用户特征的在线明细数据,所述在线明细数据基于所述第一同步周期届满时刻之后产生的在线业务数据而确定。再接着,在步骤S230,基于所述在线明细数据,计算针对所述第一用户特征的在线累计特征值。
在一个实施例中,在步骤S220之前还可以包括:确定所述离线累计特征值对应的所述第一同步周期届满时刻。相应地,在一个实施例中,步骤S220中可以包括:获取在所述第一同步周期届满时刻之后的在线明细数据。在另一个实施例中,如前所述,接收的查询请求中包括统计截至时刻,则步骤S220中可以包括:获取在所述第一同步周期届满时刻之后以及所述统计截止时刻之前的在线明细数据。
在一个实施例中,如前所述,离线业务数据中可以包括业务系统的系统日志和整理为数据库表的业务记录。可以理解的是,在线业务数据中同样可以包括这些数据,区别在于所包括数据所对应的时间区段不同,步骤S210中涉及的离线业务数据对应于第一同步周期届满时刻之前产生的数据,本步骤中涉及的在线业务数据对应于第一同步周期届满时刻之后产生的数据。
在一个实施例中,步骤S220可以包括:从所述第一同步周期届满时刻之后产生的在线业务数据中提取针对所述第一用户特征的在线业务数据,作为上述在线明细数据。
进一步地,在一个实施例中,步骤S230可以包括:根据如此获取的对应于在线业务数据的在线明细数据,计算在线累计特征值。在另一个实施例中,如前所述,在线业务数据中可以包括日志数据,考虑到日志数据中往往存在重复数据,直接利用对应包括重复数据的在线明细数据计算在线累计特征值,会导致数值偏大、不准确,基于此,步骤S230可以包括:可以先对在线明细数据进行累加幂等处理,如此可以除去重复数据,再利用处理后的在线明细数据计算在线累计特征值,以保证计算结果的准确性。
另一方面,在一个实施例中,步骤S220可以包括:从数据库表中获取所述在线明细数据,所述数据库表用于存储按照标准格式解析的在线业务数据。也就是说,将在线业务数据按照标准格式进行解析后存储到数据库表中,相应可以从数据库表中获取对应于第一用户特征的在线明细数据。如此,通过利用数据库表本身具有的幂等能力,可以使在线明细数据中不存在重复数据,不同于前述实施例中需要通过另外开发实现累加幂等,通过落实明细数据可以快速、便捷、低成本地实现对重复数据的去除。此外,因为此处是从数据库表中获取具有标准格式的在线明细数据,故而可以提高获取速度,从而最终提高返回用户特征值的速度。
进一步地,在一个实施例中,步骤S230可以包括:根据获取的具有标准格式的在线明细数据,计算在线累计特征值。
以上,在步骤S210中可以获取离线累计特征值,在步骤S230中可以计算出在线累计特征值。然后,在步骤S240中,将所述离线累计特征值与所述在线累计特征值进行合并,将合并结果确定为针对第一用户特征的实时特征值。
在一个实施例中,可以对离线累计特征值与在线累计特征值进行算术求和,将得到的算术值作为所述实时特征值。在另一个实施例中,还可以对离线累计特征值和在线累计特征值进行加权求和,将得到加权值作为所述实时特征值。需要说明的是,在加权求和时采用的权值可以由工作人员根据实际经验或者实际需要进行设定或调整。在一个具体的实施例中,可以为在线累计特征值赋予更高的权重,例如,可以将在线累计特征值和离线累计特征值的权重分别设定为0.8和0.2。
以上,可以确定出针对第一用户特征的实时特征值。进一步地,在一个实施例中,可以将实时特征值返回给发送查询请求的查询系统。
下面,结合一个具体的例子,对所述方法进行进一步说明。如图3所示,所述方法包括以下步骤:
在步骤S310中,判断T-1日的离线累计特征是否就位。需要说明的是,可能存在T-1日的数据已同步至离线处理平台,但暂未结合同步的T-1日的数据更新累计离线特征的情况,因此,此处需要判断T-1日的离线累计特征是否就位,而不是判断T-1日的数据是否已同步至离线处理平台。
进一步地,一方面,在判断出就位的情况下,执行步骤S320和步骤S330,在步骤S320中,查询利用T-1日之前(包括T-1日)的离线业务数据所确定的T-1日离线累计特征。并且,在步骤S330中,查询近1日的明细数据并计算出对应的在线累计特征值。另一方面,在判断出未就位的情况下,此时,可以进一步判断T-2日的离线累计特征是否就位,此处考虑到在T-1日离线累计特征未就位的情况下,T-2日的离线累计特征通常是已就位的,因此可以执行步骤S340和步骤S350,在步骤S340中,查询利用T-2日之前(包括T-2日)的离线业务数据所确定的T-2日离线累计特征。并且,在步骤S350中,查询近2日的明细数据并计算出对应的在线累计特征值。
在执行上述步骤S330或步骤S350之后,在步骤S360,对离线累计特征值和在线累计特征值进行合并,并将合并结果进行输出。例如,可以输出至查询系统。如此,可以确定出实时的用户特征值,并进行输出。
由上可知,在本说明书一个或多个实施例提供的用户特征值的确定方法中,通过离线方式引入业务数据以计算离线累计特征值,通过在线方式将业务数据落入在线数据存储表中,进一步的地,当接收到针对用户特征的查询请求时,或者在其他需要确定用户特征的情况下,通过在线数据存储表中的在线明细数据计算在线累计特征值,与查询到的离线累计特征值进行合并,作为返回的针对用户特征的实时特征值。如此,可以快速、准确地确定出实时的用户特征值。
与用户特征值的确定方法对应地,本说明书一个或多个实施例还提供一种确定装置。具体地,图4示出根据一个实施例的用户特征值的确定装置结构图,如图4所示,该装置400包括:
第一获取单元410,配置为获取针对第一用户特征的离线累计特征值,所述离线累计特征值由离线处理平台基于已同步的、第一同步周期届满时刻之前的离线业务数据而预先确定。第二获取单元420,配置为获取针对所述第一用户特征的在线明细数据,所述在线明细数据基于所述第一同步周期届满时刻之后产生的在线业务数据而确定。计算单元430,配置为基于所述在线明细数据,计算针对所述第一用户特征的在线累计特征值。合并单元440,配置为将所述离线累计特征值与所述在线累计特征值进行合并,将合并结果确定为针对所述第一用户特征的实时特征值。
在一个实施例中,所述装置400还包括:接收单元450,配置为接收针对所述第一用户特征的查询请求,所述查询请求中包括多个查询参数,所述多个查询参数中至少包括用户标识信息和所述第一用户特征的标识信息。
进一步地,在一个具体的实施例中,所述多个查询参数中还包括所述第一用户特征对应的统计截至时刻。
在一个实施例中,所述离线业务数据中包括业务系统的系统日志和整理为数据库表的业务记录。
在一个实施例中,所述离线累计特征值基于以下步骤而预先确定:在第一同步周期届满时,将所述第一同步周期内新生成的业务数据同步至所述离线处理平台,与所述离线处理平台中已存储的所述同步之前的历史离线业务数据组合得到所述离线业务数据;在所述离线处理平台中,基于所述离线业务数据,计算所述离线累计特征值。
在一个实施例中,所述离线累计特征值基于以下步骤而预先确定:在第一同步周期届满时,将所述第一同步周期内新生成的业务数据同步至离线处理平台;在所述离线处理平台中,基于所述新生成的业务数据计算针对所述第一用户特征的新增离线累计特征值;获取所述同步之前基于历史离线业务数据而确定的历史离线累计特征值;将所述历史离线累计特征值和所述新增离线累计特征值合并,得到所述离线累计特征值。
在一个实施例中,所述装置400还包括:确定单元460,配置为确定所述离线累计特征值对应的所述第一同步周期届满时刻。所述第二获取单元420具体配置为:获取在所述第一同步周期届满时刻之后的在线明细数据。
在一个实施例中,所述装置400还包括:确定单元460,配置为确定所述离线累计特征值对应的所述第一同步周期届满时刻。所述第二获取单元420具体配置为:获取在所述第一同步周期届满时刻之后以及所述统计截止时刻之前的在线明细数据。
在一个实施例中,所述第二获取单元420具体配置为:从数据库表中获取所述在线明细数据,所述数据库表用于存储按照标准格式解析的在线业务数据。
在一个实施例中,所述第一用户特征为以下中的任一种:支付笔数、支付天数、支付红包领取次数、支付红包使用次数。
由上可知,在本说明书一个或多个实施例提供的用户特征值的确定装置中,通过离线方式引入业务数据以计算离线累计特征值,通过在线方式将业务数据落入在线数据存储表中,进一步的地,当接收到针对用户特征的查询请求时,或者在其他需要确定用户特征的情况下,通过在线数据存储表中的在线明细数据计算在线累计特征值,与查询到的离线累计特征值进行合并,作为返回的针对用户特征的实时特征值。如此,可以快速、准确地确定出实时的用户特征值。
如上,根据又一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图3所描述的方法。
根据又一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图3所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。