一种实时流数据动态分组的方法技术

技术编号:38077498 阅读:9 留言:0更新日期:2023-07-06 08:45
本发明专利技术属于实时大数据技术领域,具体涉及一种实时流数据动态分组的方法,所述方法包括:配置规则,根据实际需求,在前端页面配置规则,同时配置分组字段,所述实际需求包括但不限于实时推荐、实时风控、市场运营需求;解析实时埋点日志数据,所述埋点日志数据为用户操作日志,主要包括用户终端属性、时间类型、时间详情数据;加载规则,获取分组字段;复制事件数据,标记各个分组字段值;根据分组字段值分组。本发明专利技术的一种实时流数据动态分组的方法,可提高基于事件驱动的流应用的处理效率,增加灵活性。性。性。

【技术实现步骤摘要】
一种实时流数据动态分组的方法


[0001]本专利技术属于实时大数据
,具体涉及一种实时流数据动态分组的方法。

技术介绍

[0002]传统的“精准营销平台”由营销人员基于画像标签数据去圈选人群,进行营销推送,存在不足;这种传统手段,往往无法抓住那些“转瞬即逝的营销机会”;如:一个促销热爱型用户,正在浏览包包时,及时推送出正在做促销活动的包包信息,是最有效的;一个价格敏感型用户,正在犹豫不决反复查看他购物车中的某目标商品时,适时推送优惠券,是最有效的。
[0003]而这些场景,显然无法通过营销人员人工手段去发现,需要用软件系统自动实时监控用户的行为,通过事先配置的规则实时做出判断,并进而驱动营销推送系统推送相关营销内容;而不同的规则需要将数据按不同的字段进行分组计算,因为规则是可以实时动态新增、更新或删除的,这就需要将数据根据规则实时动态分组,这样就可以在一个流应用程序中实时处理多种类型的规则,在节省资源的同时,提高了处理效率、增加了灵活性。

技术实现思路

[0004]本专利技术的目的是:旨在提供一种实时流数据动态分组的方法,可提高基于事件驱动的流应用的处理效率,增加灵活性。
[0005]为实现上述技术目的,本专利技术采用的技术方案如下:
[0006]一种实时流数据动态分组的方法,所述方法包括:
[0007]S1:配置规则,根据实际需求,在前端页面配置规则,同时配置分组字段;
[0008]S2:解析实时埋点日志数据;
[0009]S3:加载规则,获取分组字段;
[0010]S4:复制事件数据,标记各个分组字段值;
[0011]S5:根据分组字段值分组。
[0012]进一步限定,所述实际需求包括但不限于实时推荐、实时风控、市场运营需求。
[0013]进一步限定,所述解析实时埋点日志数据为:使用流计算引擎实时读取埋点日志数据,并解析成EventBean POJO类对象。
[0014]进一步限定,所述埋点日志数据为用户操作日志,主要包括用户终端属性、时间类型、时间详情数据。
[0015]进一步限定,所述加载规则,获取分组字段为:在流计算引擎中使用broadcast广播的方式,动态实时加载S1步骤配置的所有规则,并把规则的分组字段key添加到数据结构HashSet里。
[0016]进一步限定,所述复制事件数据,标记各个分组字段值为:遍历HashSet,对每条所述埋点日志数据按照HashSet里的分组字段key复制数据,生成新的DynamicKeyedBean POJO类对象,并使用Java反射机制获取分组字段key对应字段值value。
[0017]进一步限定,所述根据分组字段值分组为:根据DynamicKeyedBean POJO的属性value进行分组,value值相同的数据分到同一个组里进行相应的规则计算,实现实时流数据动态分组。
[0018]采用上述技术方案的专利技术,具有如下优点:
[0019]本专利技术的一种实时流数据动态分组的方法,根据事先配置好的规则,对实时的数据流进行判断,然后进行动态分组,在节约资源的同时,可提高基于事件驱动的流应用的处理效率,增加灵活性。
附图说明
[0020]本专利技术可以通过附图给出的非限定性实施例进一步说明;应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图
[0021]图1为本专利技术的一种实时流数据动态分组的方法的流程框图;
[0022]图2为本专利技术的一种实时流数据动态分组的方法的流程原理图。
具体实施方式
[0023]以下将结合附图和具体实施例对本专利技术进行详细说明,需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号,附图中未绘示或描述的实现方式,为所属
中普通技术人员所知的形式。另外,实施例中提到的方向用语,例如“上”、“下”、“顶”、“底”、“左”、“右”、“前”、“后”等,仅是参考附图的方向,并非用来限制本专利技术的保护范围。
[0024]实施例:
[0025]如图1所示,本专利技术的一种实时流数据动态分组的方法,包括
[0026]S1:配置规则,根据需求,该需求包括但不限于实时推荐、实时风控、市场运营需求等,在前端页面配置规则,同时配置分组字段,分组字段是规则的基准,分组字段值相同的数据会被分到同一组进行计算。
[0027]S2:解析实时埋点日志数据。
[0028]即使用流计算引擎实时读取埋点日志数据,并解析成EventBean POJO类对象,POJO(Plain Ordinary Java Object)属于简单的Java对象,实际就是普通JavaBeans,可以理解为简单的实体类,能够方便的将POJO类当做对象来进行使用,方便的调用其get,set方法,其中,埋点日志数据为用户操作日志,主要包括用户终端属性、时间类型、时间详情数据。
[0029]S3:加载规则,获取分组字段。
[0030]即在流计算引擎中使用broadcast广播的方式,动态实时加载S1步骤配置的所有规则,并把规则的分组字段key添加到数据结构HashSet里。
[0031]S4:复制事件数据,标记各个分组字段值。
[0032]遍历HashSet,对来的每条埋点日志数据按照HashSet里的分组字段key复制数据,生成新的DynamicKeyedBean POJO类对象,DynamicKeyedBean是指按分组字段分组后的POJO类,并使用Java反射机制获取分组字段key对应字段值value。
[0033]S5:根据分组字段值分组。
[0034]根据DynamicKeyedBean POJO的属性value进行分组,value值相同的数据会被分到同一个组里进行相应的规则计算,这样,就实现了实时流数据动态分组。
[0035]以下为对本专利技术的一种实时流数据动态分组的方法的详细说明:
[0036]S1:配置规则,根据需求,该需求包括但不限于实时推荐、实时风控、市场运营需求等,在前端页面配置规则,同时配置分组字段,分组字段是规则的基准,分组字段值相同的数据会被分到同一组进行计算。
[0037]例如实时风控需求示例为:
[0038]某IP最近1小时注册账号数超过10个,分组字段为ip。
[0039]某设备最近3分钟登陆次数大于5次,分组字段为deviceId。
[0040]满足以上规则,则很可能发生了虚假注册,盗号登录。
[0041]S2:解析实时埋点日志数据。
[0042]即使用流计算引擎实时读取埋点日志数据,并解析成EventBean POJO类对象。
[0043]具体的,解析后的POJO类对象结构如下:
[0044][0045][0046]埋点日志数据是用户操作的日志,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时流数据动态分组的方法,其特征在于:所述方法包括:S1:配置规则,根据实际需求,在前端页面配置规则,同时配置分组字段;S2:解析实时埋点日志数据;S3:加载规则,获取分组字段;S4:复制事件数据,标记各个分组字段值;S5:根据分组字段值分组。2.根据权利要求1所述的一种实时流数据动态分组的方法,其特征在于:所述实际需求包括但不限于实时推荐、实时风控、市场运营需求。3.根据权利要求1所述的一种实时流数据动态分组的方法,其特征在于:所述解析实时埋点日志数据为:使用流计算引擎实时读取埋点日志数据,并解析成EventBeanPOJO类对象。4.根据权利要求3所述的一种实时流数据动态分组的方法,其特征在于:所述埋点日志数据为用户操作日志,主要包括用户终端属性、时间类型、时间详情数据。5.根据权利要求1所述的一种实时流数据动态分组的方法,其特征在于:所述加载规则...

【专利技术属性】
技术研发人员:王毅
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1