本发明属于实时大数据,具体涉及一种实时流数据动态分组的方法。
背景技术:
1、传统的“精准营销平台”由营销人员基于画像标签数据去圈选人群,进行营销推送,存在不足;这种传统手段,往往无法抓住那些“转瞬即逝的营销机会”;如:一个促销热爱型用户,正在浏览包包时,及时推送出正在做促销活动的包包信息,是最有效的;一个价格敏感型用户,正在犹豫不决反复查看他购物车中的某目标商品时,适时推送优惠券,是最有效的。
2、而这些场景,显然无法通过营销人员人工手段去发现,需要用软件系统自动实时监控用户的行为,通过事先配置的规则实时做出判断,并进而驱动营销推送系统推送相关营销内容;而不同的规则需要将数据按不同的字段进行分组计算,因为规则是可以实时动态新增、更新或删除的,这就需要将数据根据规则实时动态分组,这样就可以在一个流应用程序中实时处理多种类型的规则,在节省资源的同时,提高了处理效率、增加了灵活性。
技术实现思路
1、本发明的目的是:旨在提供一种实时流数据动态分组的方法,可提高基于事件驱动的流应用的处理效率,增加灵活性。
2、为实现上述技术目的,本发明采用的技术方案如下:
3、一种实时流数据动态分组的方法,所述方法包括:
4、s1:配置规则,根据实际需求,在前端页面配置规则,同时配置分组字段;
5、s2:解析实时埋点日志数据;
6、s3:加载规则,获取分组字段;
7、s4:复制事件数据,标记各个分组字段值;
8、s5:根据分组字段值分组。
9、进一步限定,所述实际需求包括但不限于实时推荐、实时风控、市场运营需求。
10、进一步限定,所述解析实时埋点日志数据为:使用流计算引擎实时读取埋点日志数据,并解析成eventbean pojo类对象。
11、进一步限定,所述埋点日志数据为用户操作日志,主要包括用户终端属性、时间类型、时间详情数据。
12、进一步限定,所述加载规则,获取分组字段为:在流计算引擎中使用broadcast广播的方式,动态实时加载s1步骤配置的所有规则,并把规则的分组字段key添加到数据结构hashset里。
13、进一步限定,所述复制事件数据,标记各个分组字段值为:遍历hashset,对每条所述埋点日志数据按照hashset里的分组字段key复制数据,生成新的dynamickeyedbeanpojo类对象,并使用java反射机制获取分组字段key对应字段值value。
14、进一步限定,所述根据分组字段值分组为:根据dynamickeyedbean pojo的属性value进行分组,value值相同的数据分到同一个组里进行相应的规则计算,实现实时流数据动态分组。
15、采用上述技术方案的发明,具有如下优点:
16、本发明的一种实时流数据动态分组的方法,根据事先配置好的规则,对实时的数据流进行判断,然后进行动态分组,在节约资源的同时,可提高基于事件驱动的流应用的处理效率,增加灵活性。
1.一种实时流数据动态分组的方法,其特征在于:所述方法包括:
2.根据权利要求1所述的一种实时流数据动态分组的方法,其特征在于:所述实际需求包括但不限于实时推荐、实时风控、市场运营需求。
3.根据权利要求1所述的一种实时流数据动态分组的方法,其特征在于:所述解析实时埋点日志数据为:使用流计算引擎实时读取埋点日志数据,并解析成eventbeanpojo类对象。
4.根据权利要求3所述的一种实时流数据动态分组的方法,其特征在于:所述埋点日志数据为用户操作日志,主要包括用户终端属性、时间类型、时间详情数据。
5.根据权利要求1所述的一种实时流数据动态分组的方法,其特征在于:所述加载规则,获取分组字段为:在流计算引擎中使用broadcast广播的方式,动态实时加载s1步骤配置的所有规则,并把规则的分组字段key添加到数据结构hashset里。
6.根据权利要求1所述的一种实时流数据动态分组的方法,其特征在于:所述复制事件数据,标记各个分组字段值为:遍历hashset,对每条所述埋点日志数据按照hashset里的分组字段key复制数据,生成新的dynamickeyedbeanpojo类对象,并使用java反射机制获取分组字段key对应字段值value。
7.根据权利要求1-6任一权利要求所述的一种实时流数据动态分组的方法,其特征在于:所述根据分组字段值分组为:根据dynamickeyedbeanpojo的属性value进行分组,value值相同的数据分到同一个组里进行相应的规则计算,实现实时流数据动态分组。