【技术实现步骤摘要】
一种积分权益实时确定方法、装置、介质、设备和系统
本专利技术涉及大数据实时计算领域,具体涉及一种积分权益实时确定方法、装置、介质、设备和系统。
技术介绍
积分权益系统目前已经成为了电商平台、营销系统的主要支撑子系统。金融机构通过发布一个活动,可以对现存用户进行二次营销,用户在进行完成活动任务后,系统会生成积分和权益领取的通知,可以有效的粘合用户。由于现在客户群体规模的庞大,活动礼品力度的增大,经常会带来大量用户人群的在线抢购,从而对系统提出了高并发、低延迟和高吞吐的要求。但是现有技术主要采用spark大数据计算平台和redis进行开发,在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:高延迟,低吞吐等性能问题。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种积分权益实时确定方法、装置、介质、设备和系统,以解决现有技术中高延迟,低吞吐等性能问题。第一方面,本专利技术实施例提供了一种积分权益实时确定方法,其包括:读取数据库中的事件表和任务表;将读取到的所述事件表和所述任务表存入Flink表中;监听Redis中的消息队列,发现最新发布的事件和任务,实时更新所述Flink表中的事件表和任务表;监听Kafka配置的主题,根据所述主题从所述Kafka中获取用户交易数据;将所述用户交易数据存入到Hbase中,其中,每个主题对应Hbase中的一张表;根据所述主题从所述事件表中查询事件过滤表达式,根据所述事件过滤表达式过滤K ...
【技术保护点】
1.一种积分权益实时确定方法,其特征在于,包括:/n读取数据库中的事件表和任务表;/n将读取到的所述事件表和所述任务表存入Flink表中;/n监听Redis中的消息队列,发现最新发布的事件和任务,实时更新所述Flink 表中的事件表和任务表;/n监听Kafka 配置的主题,根据所述主题从所述Kafka中获取用户交易数据;/n将所述用户交易数据存入到Hbase中,其中,每个主题对应Hbase中的一张表;/n根据所述主题从所述事件表中查询事件过滤表达式,根据所述事件过滤表达式过滤Kafka中发送过来的用户交易数据,获得过滤后的用户交易数据,根据所述事件的主键信息从Redis中查询出与所述过滤后的用户交易数据关联的活动;/n根据所述过滤后的用户交易数据关联的活动和所述Flink 表中的任务表中查询所述活动下的所有任务,将查询到的所述活动下的所有任务复制为多条任务数据流;/n对生成的多条任务数据流分别进行相应的任务达标规则计算,以确定每个任务是否处于完成状态;/n进行任务组达标规则计算,当任务组中的多个任务都已经完成时确定本次活动已经达标,将达标结果发送到Kafka上。/n
【技术特征摘要】
1.一种积分权益实时确定方法,其特征在于,包括:
读取数据库中的事件表和任务表;
将读取到的所述事件表和所述任务表存入Flink表中;
监听Redis中的消息队列,发现最新发布的事件和任务,实时更新所述Flink表中的事件表和任务表;
监听Kafka配置的主题,根据所述主题从所述Kafka中获取用户交易数据;
将所述用户交易数据存入到Hbase中,其中,每个主题对应Hbase中的一张表;
根据所述主题从所述事件表中查询事件过滤表达式,根据所述事件过滤表达式过滤Kafka中发送过来的用户交易数据,获得过滤后的用户交易数据,根据所述事件的主键信息从Redis中查询出与所述过滤后的用户交易数据关联的活动;
根据所述过滤后的用户交易数据关联的活动和所述Flink表中的任务表中查询所述活动下的所有任务,将查询到的所述活动下的所有任务复制为多条任务数据流;
对生成的多条任务数据流分别进行相应的任务达标规则计算,以确定每个任务是否处于完成状态;
进行任务组达标规则计算,当任务组中的多个任务都已经完成时确定本次活动已经达标,将达标结果发送到Kafka上。
2.根据权利要求1所述的积分权益实时确定方法,其特征在于,所述的根据所述过滤后的用户交易数据关联的活动和所述Flink表中的任务表中查询所述活动下的所有任务,将查询到的所述活动下的所有任务复制为多条任务数据流,具体包括:
根据所述活动是否配置了白名单并且客户是否属于白名单客户来执行数据拆分;
如果所述活动配置了白名单且所述客户属于白名单客户,则从kafka上接收的用户交易数据中获取活动ID,再根据所述活动ID从所述Flink表中的任务表中查询所述活动下的所有任务,将查询到的所述活动下的所有任务复制为多条任务数据流;
如果所述活动未配置白名单,则先判断客户接受服务的单位与活动发布的单位是否匹配;
如果所述客户接受服务的单位与所述活动发布的单位匹配时,则从kafka上接收的用户交易数据中获取活动ID,再根据所述活动ID从所述Flink表的任务表中查询所述活动下的所有任务,将查询到的所述活动下的所有任务复制为多条任务数据流。
3.根据权利要求1所述的积分权益实时确定方法,其特征在于,在所述的对生成的多条任务数据流分别进行相应的任务达标规则计算,以确定每个任务是否处于完成状态之后,还包括:
如果所述任务涉及到累计金额和任务达标次数的规则,则保存中间结果至所述Redis中;如果所述任务已经达标,则将达标的任务信息保存所述Redis中。
4.根据权利要求1所述的积分权益实时确定方法,其特征在于,在所述的对生成的多条任务数据流分别进行相应的任务达标规则计算,以确定每个任务是否处于完成状态之后,还包括:
在所述每个任务达标后,将所述每个任务对应的达标任务信息保存至Hbase对应的表中。
5.根据权利要求1所述的积分权益实时确定方法,其特征在于,在所述的进行任务组达标规则计算,当任务组中的多个任务都已经完成时确定本次活动已经达标,将达标结果发送到kafka上之后,还包括:
在任务组达标后,将达标的任务组信息存入所述Kafka和所述Hbase,同时清理所述任务组下达标的任务对应的任务信息。
6.根据权利要求1所述的积分权益实时...
【专利技术属性】
技术研发人员:赵鑫,邢鹏,
申请(专利权)人:北京宇信科技集团股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。