System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据处理,特别是一种基于规则引擎的用户行为轨迹的匹配方法及装置。
技术介绍
1、在大数据的背景下,我们可以通过实时匹配用户的行为轨迹,对其特征进行标注等动作,进一步了解用户的行为偏好和兴趣。例如,如果一个用户在过去三个小时内去了甜品店a,奶茶店b和烤肉店c,我们就可以根据这些行为轨迹对其户进行标注:美食达人,并利用标注进行消息触达。
2、常规的标注做法包括有离线标注和实时标注。使用离线方式对数据进行处理,通常是t+1(在当前时间点之后的下一个时间点进行数据处理或分析),但这通常很难满足时效需求。实时的方式目前通用的解决方案是flink cep(复杂事件处理),但会消耗大量的计算资源。
技术实现思路
1、鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分的解决所述问题的一种基于规则引擎的用户行为轨迹的匹配方法及装置,包括:
2、一种基于规则引擎的用户行为轨迹的匹配方法,包括步骤:
3、获取匹配规则和用户的轨迹数据,并依据所述匹配规则生成预设格式的规则串;其中,所述轨迹数据包括事件类型、事件触发时间和事件个数;
4、依据所述事件触发时间对所述事件类型进行排序,生成事件序列;
5、依据所述事件序列、所述事件类型、所述事件个数和所述事件触发时间生成事件的状态值;
6、依据所述状态值和所述规则串确定对应的所述匹配结果。
7、进一步地,所述依据所述事件序列、所述事件类型、所述事件个数和所述事
8、依据所述事件个数确定所述状态值的元素个数;
9、依据所述事件序列、所述事件类型和所述事件触发时间确定所述状态值每个元素的值。
10、进一步地,所述依据所述事件序列、所述事件类型和所述事件触发时间确定所述状态值每个元素的值的步骤,包括:
11、确定所述事件的初始状态值;
12、依次依据所述事件序列对应的所述事件类型和所述事件触发时间对上一事件序列对应的目标元素的值的进行更改,得到目标状态值。
13、进一步地,所述依据所述状态值和所述规则串确定对应的所述匹配结果的步骤,包括:
14、当所述目标状态值的倒数第二个元素和倒数第一个元素的值相同、且不为所述初始状态值时,则依据所述规则串、最后一个元素对应的所述事件触发时间和倒数第二个元素对应的所述事件触发时间确定对应的所述匹配结果。
15、进一步地,所述获取匹配规则和用户的轨迹数据的步骤,包括:
16、对所述轨迹数据进行清洗,得到预设格式的所述轨迹数据。
17、一种基于规则引擎的用户行为轨迹的匹配装置,包括:
18、数据获取模块,用于获取匹配规则和用户的轨迹数据,并依据所述匹配规则生成预设格式的规则串;其中,所述轨迹数据包括事件类型、事件触发时间和事件个数;
19、事件排序模块,用于依据所述事件触发时间对所述事件类型进行排序,生成事件序列;
20、状态计算模块,用于依据所述事件序列、所述事件类型、所述事件个数和所述事件触发时间生成事件的状态值;
21、数据匹配模块,用于依据所述状态值和所述规则串确定对应的所述匹配结果。
22、进一步地,所述状态计算模块,包括:
23、元素个数确定子模块,用于依据所述事件个数确定所述状态值的元素个数;
24、元素值确定子模块,用于依据所述事件序列、所述事件类型和所述事件触发时间确定所述状态值每个元素的值。
25、进一步地,所述元素值确定子模块,包括:
26、初始状态计算单元,用于确定所述事件的初始状态值;
27、状态值更改单元,用于依次依据所述事件序列对应的所述事件类型和所述事件触发时间对上一事件序列对应的目标元素的值的进行更改,得到目标状态值。
28、一种设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的基于规则引擎的用户行为轨迹的匹配方法的步骤。
29、一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的基于规则引擎的用户行为轨迹的匹配方法的步骤。
30、本申请具有以下优点:
31、在本申请的实施例中,相对于现有技术中的难以满足时效需求和资源消耗大的问题,本申请提供了通过订制规则串,动态注入到flink规则引擎,实现数据流规则匹配的解决方案,具体为:获取匹配规则和用户的轨迹数据,并依据所述匹配规则生成预设格式的规则串;其中,所述轨迹数据包括事件类型、事件触发时间和事件个数;依据所述事件触发时间对所述事件类型进行排序,生成事件序列;依据所述事件序列、所述事件类型、所述事件个数和所述事件触发时间生成事件的状态值;依据所述状态值和所述规则串确定对应的所述匹配结果。本申请支持同时运行多个规则匹配任务,大幅节省计算资源,同时大幅降低上游消息队列io压力,避免io瓶颈;并且新增规则无需重启,即刻生效。
本文档来自技高网...【技术保护点】
1.一种基于规则引擎的用户行为轨迹的匹配方法,其特征在于,包括步骤:
2.根据权利要求1所述的方法,其特征在于,所述依据所述事件序列、所述事件类型、所述事件个数和所述事件触发时间生成事件的状态值的步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述依据所述事件序列、所述事件类型和所述事件触发时间确定所述状态值每个元素的值的步骤,包括:
4.根据权利要求3所述的方法,其特征在于,所述依据所述状态值和所述规则串确定对应的所述匹配结果的步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述获取匹配规则和用户的轨迹数据的步骤,包括:
6.一种基于规则引擎的用户行为轨迹的匹配装置,其特征在于,包括:
7.根据权利要求6所述的装置,其特征在于,所述状态计算模块,包括:
8.根据权利要求6所述的装置,其特征在于,所述元素值确定子模块,包括:
9.一种设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法。
...【技术特征摘要】
1.一种基于规则引擎的用户行为轨迹的匹配方法,其特征在于,包括步骤:
2.根据权利要求1所述的方法,其特征在于,所述依据所述事件序列、所述事件类型、所述事件个数和所述事件触发时间生成事件的状态值的步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述依据所述事件序列、所述事件类型和所述事件触发时间确定所述状态值每个元素的值的步骤,包括:
4.根据权利要求3所述的方法,其特征在于,所述依据所述状态值和所述规则串确定对应的所述匹配结果的步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述获取匹配规则和用户的轨迹数据的步骤,包括:<...
【专利技术属性】
技术研发人员:肖滨,林雄辉,王凝华,臧洋洲,
申请(专利权)人:瑞石数据科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。