CN113609202A - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN113609202A
CN113609202A CN202110918904.2A CN202110918904A CN113609202A CN 113609202 A CN113609202 A CN 113609202A CN 202110918904 A CN202110918904 A CN 202110918904A CN 113609202 A CN113609202 A CN 113609202A
Authority
CN
China
Prior art keywords
rule
aggregation
activity
result
event message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110918904.2A
Other languages
English (en)
Inventor
魏晓辉
吴红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Original Assignee
Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Happly Sunshine Interactive Entertainment Media Co Ltd filed Critical Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Priority to CN202110918904.2A priority Critical patent/CN113609202A/zh
Publication of CN113609202A publication Critical patent/CN113609202A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种数据处理方法及装置,包括:当检测到用户发送目标活动对应的操作请求时,生成对应的当前事件消息;当Flink框架处理当前事件消息时,获取预先规则库中的规则信息;将规则信息与事件消息关联获得补全信息;确定聚合类型,并生成当前时间点对应的当前时间窗口;应用当前时间窗口按照聚合类型对补全信息进行聚合获得聚合结果,并将聚合结果存储至数据库;当触发模块触发执行指令时,获取规则信息中的活动规则,并提取聚合结果;判断聚合结果是否符合活动规则;当符合时,向发送请求成功消息;反之,发送请求失败消息。应用该方法,以最小时间单位生成时间窗口进行数据的聚合,降低资源的消耗,提高数据产出时效性。

Description

数据处理方法及装置
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种数据处理方法及装置。
背景技术
目前国内外大数据生态中,各个公司对数据的时效性要求越来越高。在反欺诈、异常检测、实时数据仓库以及实时数据分析等应用场景中,对数据进行实时统计可以提供精确的一次状态一致性保障、事件时间支持以及状态管理等特性。
在现有技术中,对数据的实时统计和计算任务是在活动启动之前预先设置,通常在进行计算任务时,会设置不同维度的时间来启动对应的时间窗口进行统计任务数据。例如,在打榜活动开始前,为了防止存在打榜刷票的行为,风控系统设置1分钟、5分钟、1小时、1天四个规则,则需要在1分钟、5分钟、1小时、1天的四个时间维度设置时间窗口进行实时任务数据的分析。当进行数据分析的时间跨度越大,比如时间跨度为1个小时或1天,需要消耗更多资源来存储和统计中间的数据,时间跨度越大,所需要存储的数据越多,消耗的资源越高,从而影响数据产出的时效性。
发明内容
有鉴于此,本发明提供一种数据处理方法,通过该方法,以最小时间单位生成时间窗口进行数据的聚合,降低资源的消耗,提高数据产出时效性。
本发明还提供了一种数据处理装置,用以保证上述方法在实际中的实现及应用。
一种数据处理方法,所述方法应用于风控系统,所述方法包括:
当检测到用户发送目标活动对应的操作请求时,生成所述操作请求对应的当前事件消息,并将所述事件消息加入预先设置的消息队列,应用Flink框架按照所述消息队列中已加入的各个事件消息的加入顺序,依次对各个所述事件消息进行处理;
当所述Flink框架处理到所述当前事件消息时,获取预先设置的规则库中最新更新的所述目标活动对应的规则信息;
将所述规则信息与所述事件消息进行关联,获得补全信息;
确定所述规则信息对应的聚合类型,并生成当前时间点对应的当前时间窗口;所述风控系统按照预先设置的最小时间单位实时生成时间窗口;
应用所述当前时间窗口按照所述聚合类型对所述补全信息进行聚合,获得聚合结果,并将所述聚合结果持久化存储至预先设置的数据库;
当所述风控系统的中触发模块触发所述操作请求对应的执行指令时,获取所述规则信息中所述目标活动对应的活动规则,并从所述数据库中提取所述聚合结果;
判断所述聚合结果是否符合所述活动规则;
当所述聚合结果符合所述活动规则时,向所述用户发送所述操作请求对应的请求成功消息;
当所述聚合结果不符合所述活动规则时,向所述用户发送所述操作请求对应的请求失败消息。
上述的方法,可选的,所述将所述事件消息加入预先设置的消息队列,包括:
将所述事件消息转换成json格式的事件消息,并将已转换格式的事件消息加入所述消息队列。
上述的方法,可选的,所述将所述规则信息与所述事件消息进行关联,获得补全信息,包括:
解析所述事件消息,获得所述事件消息中包含的事件代码;
解析所述规则信息,获得所述规则信息中包含的规则代码;
检测所述事件代码与所述规则代码是否一致;
若所述事件代码与所述规则代码一致,则将所述事件消息与所述规则信息关联,获得补全信息。
上述的方法,可选的,所述将所述聚合结果持久化存储至预先设置的数据库,包括:
获取所述聚合结果的各个结果字段;
对各个所述结果字段进行哈希运算,获得所述聚合结果的键值,所述键值为所述聚合结果的唯一识别码;
确定所述聚合类型对应的数据库接口;
将所述键值与所述聚合结果关联,获得关联结果,将所述关联结果经由所述数据库接口存储至所述数据库。
上述的方法,可选的,所述判断所述聚合结果是否符合所述活动规则,包括:
获取所述活动规则中包含的参数取值范围,及所述聚合结果中的结果参数;
判断所述结果参数是否在所述参数取值范围;
若所述结果参数在所述参数取值范围内,则确定所述聚合结果满足所述活动规则;
若结果参数不在所述参数取值范围内,则确定所述聚合结果不满足所述活动规则。
上述的方法,可选的,还包括:
获取所述活动规则对应的活动循环周期;
判断所述当前时间点是否为所述活动循环周期的临界时间点;
若所述当前时间点并非所述活动循环周期的临界时间点,则基于所述最小时间单位,继续生成下一时间点的时间窗口;当所述用户在下一时间点未发送所述目标活动对应的操作请求时,所述下一时间点的时间窗口记录所述当前时间窗口的聚合结果;当所述用户在下一时间点再次发送所述目标活动对应的操作请求时,所述下一时间点的时间窗口记录下一时间点的操作请求对应的聚合结果;
若所述当前时间点为所述活动周期的临界时间点,则清空所述当前时间窗口中记录的聚合结果。
一种数据处理装置,所述装置应用于风控系统,所述装置包括:
第一生成单元,用于当检测到用户发送目标活动对应的操作请求时,生成所述操作请求对应的当前事件消息,并将所述事件消息加入预先设置的消息队列,应用Flink框架按照所述消息队列中已加入的各个事件消息的加入顺序,依次对各个所述事件消息进行处理;
第一获取单元,用于当所述Flink框架处理到所述当前事件消息时,获取预先设置的规则库中最新更新的所述目标活动对应的规则信息;
关联单元,用于将所述规则信息与所述事件消息进行关联,获得补全信息;
第二生成单元,用于确定所述规则信息对应的聚合类型,并生成所述当前时间点对应的当前时间窗口;所述风控系统按照预先设置的最小时间单位实时生成时间窗口;
聚合单元,用于应用所述当前时间窗口按照所述聚合类型对所述补全信息进行聚合,获得聚合结果,并将所述聚合结果持久化存储至预先设置的数据库;
第二获取单元,用于当所述风控系统的中触发模块触发所述操作请求对应的执行指令时,获取所述规则信息中所述目标活动对应的活动规则,并从所述数据库中提取所述聚合结果;
判断单元,用于判断所述聚合结果是否符合所述活动规则;
第一发送单元,用于当所述聚合结果符合所述活动规则时,向所述用户发送所述操作请求对应的请求成功消息;
第二发送单元,用于当所述聚合结果不符合所述活动规则时,向所述用户发送所述操作请求对应的请求失败消息。
上述的装置,可选的,所述第一生成单元,包括:
转换子单元,用于将所述事件消息转换成json格式的事件消息,并将已转换格式的事件消息加入所述消息队列。
上述的装置,可选的,所述关联单元,包括:
第一解析子单元,用于解析所述事件消息,获得所述事件消息中包含的事件代码;
第二解析子单元,用于解析所述规则信息,获得所述规则信息中包含的规则代码;
检测子单元,用于检测所述事件代码与所述规则代码是否一致;
关联子单元,用于若所述事件代码与所述规则代码一致,则将所述事件消息与所述规则信息关联,获得补全信息。
上述的装置,可选的,所述聚合单元,包括:
第一获取子单元,用于获取所述聚合结果的各个结果字段;
计算子单元,用于对各个所述结果字段进行哈希运算,获得所述聚合结果的键值,所述键值为所述聚合结果的唯一识别码;
第一确定子单元,用于确定所述聚合类型对应的数据库接口;
存储子单元,用于将所述键值与所述聚合结果关联,获得关联结果,将所述关联结果经由所述数据库接口存储至所述数据库。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的数据处理方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的数据处理方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种数据处理方法,包括:当检测到用户发送目标活动对应的操作请求时,生成所述操作请求对应的当前事件消息,并将所述事件消息加入预先设置的消息队列,应用Flink框架对所述消息队列中各个已加入的事件消息,按照各个所述事件消息的加入顺序,依次对各个所述事件消息进行处理;当所述Flink框架处理到所述当前事件消息时,获取预先设置的规则库中最新更新的所述目标活动对应的规则信息;将所述规则信息与所述事件消息进行关联,获得补全信息;确定所述规则信息对应的聚合类型,并生成所述当前时间点对应的当前时间窗口;所述风控系统按照预先设置的最小时间单位实时生成时间窗口;应用所述当前时间窗口按照所述聚合类型对所述补全信息进行聚合,获得聚合结果,并将所述聚合结果持久化存储至预先设置的数据库;当所述风控系统的中触发模块触发所述操作请求对应的执行指令时,获取所述规则信息中所述目标活动对应的活动规则,并从所述数据库中提取所述聚合结果;判断所述聚合结果是否符合所述活动规则;当所述聚合结果符合所述活动规则时,向所述用户发送所述操作请求对应的请求成功消息;当所述聚合结果不符合所述活动规则时,向所述用户发送所述操作请求对应的请求失败消息。应用本发明提供的方法,以最小时间单位生成时间窗口进行数据的聚合,降低资源的消耗,提高数据产出时效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据处理方法的方法流程图;
图2为本发明实施例提供的一种数据处理方法的又一方法流程图;
图3为本发明实施例提供的一种数据处理方法的再一方法流程图;
图4为本发明实施例提供的一种数据处理装置的装置结构图;
图5为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种数据处理方法,该方法可以应用在多种系统平台,其执行主体可以为风控系统,所述方法的方法流程图如图1所示,具体包括:
S101:当检测到用户发送目标活动对应的操作请求时,生成所述操作请求对应的当前事件消息,并将所述事件消息加入预先设置的消息队列,应用Flink框架按照所述消息队列中已加入的各个事件消息的加入顺序,依次对各个所述事件消息进行处理。
在本发明中,事件消息包括多个字段,各个字段包括eventTime事件时间、eventCode规则所属模型code、fields为接入方自定义的字段列表Map结构。当用户参与目标活动时,可以根据活动规则发出对应的操作请求。风控系统根据用户发送的操作请求生成对应的当前事件消息。
例如,目标活动为打榜活动,用户参与打榜活动并为某个选手点击投票,用户的终端设备根据用户点击投票的操作发出操作请求,风控系统根据该请求生成当前事件消息。
需要说明的是,消息队列用于存储事件消息,每次产生的事件消息,按照事件时间依次将事件消息加入至消息队列中,通过Flink框架中的Flink Kafka Consumer011依次对消息队列中的各个事件消息进行处理,Flink Kafka Consumer011为消费事件消息的指令。
其中,Flink框架是风控系统中设置的一个流式的数据流执行引擎框架,在处理事件消息的过程中,将事件消息作为事件流进行处理。
具体的,所述将所述事件消息加入预先设置的消息队列,包括:
将所述事件消息转换成json格式的事件消息,并将已转换格式的事件消息加入所述消息队列。
可以理解的是,消息队列支持json格式的信息,因此在将当前事件消息加入该消息队列时,更改事件消息的消息格式为json格式。
S102:当所述Flink框架处理到所述当前事件消息时,获取预先设置的规则库中最新更新的所述目标活动对应的规则信息。
在本发明中,规则库用于存储和更新规则,由后台运营商制定规则并更新。规则信息包括活动规则和多个字段,各个字段分别为eventCode规则所属模型code、aggregateType聚合类型、searchIntervalType时间分片类型、searchIntervalValue时间分片大小、searchField聚合业务字段、functionField聚合度量字段。
具体的,由于Flink框架是一个流式的数据流执行引擎框架,在获得规则库中的最新规则信息后,将该规则信息作为规则流。
S103:将所述规则信息与所述事件消息进行关联,获得补全信息。
在本发明中,关联规则信息和事件消息,获得的补全信息中包含事件消息的所有字段以及规则信息中的所有字段。
具体的,所述将所述规则信息与所述事件消息进行关联,获得补全信息,包括:
解析所述事件消息,获得所述事件消息中包含的事件代码;
解析所述规则信息,获得所述规则信息中包含的规则代码;
检测所述事件代码与所述规则代码是否一致;
若所述事件代码与所述规则代码一致,则将所述事件消息与所述规则信息关联,获得补全信息。
需要说明的是,所述事件代码为事件消息中的eventCode,规则代码也为所述规则信息中的eventCode。检测两个代码是否一致。若一致则将事件消息和规则进行进行关联,将规则信息补全至事件消息中,获得补全信息。该补全信息用于表征该目标活动的活动事件的发生以及该事件对应的规则。
S104:确定所述规则信息对应的聚合类型,并生成当前时间点对应的当前时间窗口。
其中,所述风控系统按照预先设置的最小时间单位实时生成时间窗口。
具体的,风控系统按照最小时间单位实时生成每个用户对应的时间窗口,如,最小时间单位为1s,则风控系统每秒将生成一个时间窗口。在用户发送操作请求时,对事件消息和规则消息进行关联后,根据当前时间点所对应的最小时间单位,生成当前时间窗口。
S105:应用所述当前时间窗口按照所述聚合类型对所述补全信息进行聚合,获得聚合结果,并将所述聚合结果持久化存储至预先设置的数据库。
在本发明中,时间窗口为用于记录当前时间点的最小时间单位是否发生目标活动对应的操作事件的控件,若发生目标活动对应的操作事件,则进行记录并聚合,反之,则不执行任何操作。将聚合后的补全信息保存至数据库Redis中。
具体的,聚合类型包括多个聚合方式,各个聚合方式包括:计数、去重、求和、最大值、最小值、平均值。
其中,根据规则信息确定聚合类型及聚合类型中的聚合方式,每种聚合方式对应一个执行指令。计数采用Redis的incrBy进行累加;去重采用HyperLogLog数据结构存储明细,以达到用最少的资源成本来实现海量数据去重;求和采用incrByFloat进行累加;最大、小值采用有序集合数据结构存储,写入是score和member内容一致,score为最小单位聚合结果的最大或最小值;平均值采用Hash结构存储一个总和的field,一个总数的field,并按key的维度进行累加。
S106:当所述风控系统的中触发模块触发所述操作请求对应的执行指令时,获取所述规则信息中所述目标活动对应的活动规则,并从所述数据库中提取所述聚合结果;
其中,在将聚合结果输入至数据库中后,数据库根据聚合结果将其写入对应的表格,表格中记录包括该聚合结果在内至少一个与用户相关的操作事件对应的聚合结果。当需要对该聚合结果进行检验时,再从数据库中提取该聚合结果,同时获取规则信息中的活动规则。
需要说明的是,活动规则包括活动周期和参数取值范围。例如:打榜活动的活动规则为一天内同一个用户仅允许打榜三次,则活动周期为一天,参数取值范围为(0,3]。
S107:判断所述聚合结果是否符合所述活动规则。
具体的,当所述聚合结果符合所述活动规则时执行S108;当所述聚合结果不符合所述活动规则时执行S109。
例如,用户参与打榜活动,该打榜活动的活动规则为一天内同一个用户仅允许打榜三次,该用户当前发送的操作请求为第二次打榜的操作请求,因此时间窗口的聚合结果为2次。
S108:向所述用户发送所述操作请求对应的请求成功消息。
在本发明中,用户的请求成功后,则允许该用户参与该目标活动,即表征该用户当前参与的目标活动的相关操作有效。如,用户参与打榜活动进行投票操作,确定投票次数符合活动规则,则向用户发送投票成功消息。
S109:向所述用户发送所述操作请求对应的请求失败消息。
在本发明中,用户请求失败,则拒绝用户的操作请求,当前参与的目标活动的相关操作无效。如,用户参与打榜活动进行投票操作,确定投票次数不符合活动规则,则向用户发送投票失败消息。
本发明实施例提供的数据处理方法中,当用户发送目标活动对应的操作请求时,生成该操作请求对应的当前事件消息。将当前事件消息加入至消息队列中,应用风控系统中的Flink框架按照先进先出原则,依次对消息队列中的各个事件消息进行处理。当需要对当前事件消息进行处理时,获取规则库中该目标活动对应的规则信息,并将规则信息与事件消息关联,获得补全信息。确定规则信息对应的聚合类型,同时生成当前时间点对应的当前时间窗口,由当前生成的时间窗口按照该聚合类型对补全信息进行聚合,获得聚合结果。将聚合结果存储至数据库中,触发模块触发执行指令时,获取规则信息中目标活动对应的活动规则,提取该目标活动的聚合结果,判断聚合结果是否满足活动规则,若是,则向用户发送请求成功消息,反之则发送请求失败消息。
应用本发明实施例提供的方法,以最小时间单位生成时间窗口进行数据的聚合,降低资源的消耗,提高数据产出时效性。
参考图2,本发明实施例提供的方法中,基于上述S105的内容,所述将所述聚合结果持久化存储至预先设置的数据库,包括:
S201:获取所述聚合结果的各个结果字段。
本发明中,聚合结果中的各个结果字段包括:业务字段、当前时间窗口对应的聚合时间分片、value、过期时间expire、聚合类型aggregate Type。
S202:对各个所述结果字段进行哈希运算,获得所述聚合结果的键值。
其中,所述键值为所述聚合结果的唯一识别码。
在本发明中,数据库Redis的键值key由聚合时间分片、业务字段、聚合类型维度组成,将聚合时间分片、业务字段和聚合类型进行哈希运算,获得键值。
S203:确定所述聚合类型对应的数据库接口。
在本发明中,不同的聚合类型对应不同的数据库接口,通过不同的数据库接口将聚合结果保存至数据库。
S204:将所述键值与所述聚合结果关联,获得关联结果,将所述关联结果经由所述数据库接口存储至所述数据库。
在本发明中,将键值与聚合结果关联,关联结果经由数据库接口存储至数据库,该数据库中设置有信息表格,该信息表格以key作为聚合结果的索引信息。当需要对聚合结果进行检验时,通过key查找对应的聚合结果。
本发明实施例提供的方法中,将聚合结果字段进行哈希运算,获得key,同时根据聚合类型确定将聚合结果输入至数据库进行存储的数据库接口Redis API。将key和聚合结果进行关联,并将关联的关联结果通过数据库接口存储至数据库中。
应用本发明实施例提供的方法,生成聚合结果对应的key,通过key查找对应的聚合结果,缩短数据的查询时间。
参考图3,本发明实施例提供的方法中,基于上述S107的内容,所述判断所述聚合结果是否符合所述活动规则,包括:
S301:获取所述活动规则中包含的参数取值范围,及所述聚合结果中的结果参数。
在本发明中,聚合结果的各个字段中,value为结果参数。该结果可以是对补全参数进行累加、求和、求平均、取最大值或最小值后的参数。
S302:判断所述结果参数是否在所述参数取值范围。
在本发明中,若所述结果参数在所述参数取值范围内,则执行S303;若结果参数不在所述参数取值范围内,则S304。
S303:确定所述聚合结果满足所述活动规则。
S304:确定所述聚合结果不满足所述活动规则。
本发明实施例提供的方法中,活动规则对应的聚合类型中的一种聚合方式,聚合类型的各个聚合方式为累加、求和、平均值、最大值和最小值等。例如,活动规则对应的聚合方式为累加,则活动规则的参数取值范围为(0,N],N为可累加的最大数值。因此,在确定该聚合结果是否符合活动结果的过程中,获取聚合结果中的结构参数和活动规则中规定的参数取值范围。若结果参数在该取值范围内,则聚合结果满足活动规则,反之则不满足活动规则。
基于上述实施例提供的方法,有具体以下实施例:
用户参与的目标活动为射击游戏,该游戏规定用户每秒最多只能点击射击10次,当用户在一秒内点击射击时,生成用户点击射击对应的事件消息并将事件消息和游戏规定关联生成补全信息,根据聚合类型选择聚合方式为求和,时间窗口计算该用户一秒内点击射击的总次数,生成对应的聚合结果,聚合结果中包含总射击次数。判断该射击次数是否超出10次,未超出,则表征用户是正常射击,当前射击有效;超出,则判定用户可能使用外挂或其他作弊的辅助手段,当前射击无效。
进一步地,风控系统根据最小时间单位生成时间窗口的过程中,是按照设定的时间周期记录每次的聚合结果,该时间周期为活动规则设定的活动循环周期。例如,投票活动中规定每个用户一天只能投一次票,则风控系统在一天内会按照最小时间单位实时生成每个用户对应的时间窗口,以通过每次生成的时间窗口记录当前时刻下该时间窗口对应的用户是否产生目标活动的事件消息。
基于上述实施例提供的方法,本发明实施例具体还包括:
获取所述活动规则对应的活动循环周期;
判断所述当前时间点是否为所述活动循环周期的临界时间点;
若所述当前时间点并非所述活动循环周期的临界时间点,则基于所述最小时间单位,继续生成下一时间点的时间窗口;当所述用户在下一时间点未发送所述目标活动对应的操作请求时,所述下一时间点的时间窗口记录所述当前时间窗口的聚合结果;当所述用户在下一时间点再次发送所述目标活动对应的操作请求时,所述下一时间点的时间窗口记录下一时间点的操作请求对应的聚合结果;
若所述当前时间点为所述活动周期的临界时间点,则清空所述当前时间窗口中记录的聚合结果。
需要说明的是,当前时间窗口对应的当前时间点为活动循环周期中的一个最小时间单位的一个时间点,根据该活动循环周期,确定当前时间点是否为活动循环周期的临界时间点,即,确定该活动循环周期是否要结束或进入下一个活动循环周期。若不是,则根据最小时间单位,在下一时间点到达时生成下一时间窗口,下一时间窗口在生成后,确定是否有该用户对该目标活动进行操作的事件消息发生。若有,则风控系统继续执行上述S101至S109的过程,下一个生成的时间窗口则记录下一个时间点的聚合结果,下一个时间点的聚合结果与当前时间点的聚合结果相关,下一个时间点的聚合是在当前时间的聚合结果上进行统计的结果;若没有,则下一个生成的时间窗口将不做任何记录,下一个时间点对应的聚合结果为空,并继承上一个时间窗口已有的聚合结果。如果当前时间点为活动循环周期的临界的时间点,则将当前时间点对应的当前时间窗口中记录的聚合结果删除,在进入下一个活动循环周期后,继续按照最小时间单位实时生成时间窗口。
基于上述实施例提供的方法,本发明的另一个实施例为:
用户参与打榜活动并在终端设备中点击打榜,终端设备根据用户的点击操作生成事件消息。风控系统将事件消息加入消息队列中,风控系统在处理到消息队列中该事件消息时,获取打榜活动的规则信息,并将该事件消息和规则信息关联,获得补全信息。其中,规则信息终端活动规则为统一用户或同一设备id一天内只可以打榜5次。风控系统生成当前时间点对应的当前时间窗口,当前时间窗口累计该用户的当前的打榜操作为第6次,则将对应的结构输入数据库存储,并经过判断,确定该用户本次的点击打榜失败。同时,风控系统根据活动循环周期为1天,确定当前时间点是否为活动循环周期的临界时间点,如,确定当前时间点是否为23点59分59秒,若是临界时间点,则清空当前时间窗口累加的次数,在进入下一个活动循环周期后再重新进行统计;若不是临界时间点,则风控系统则会在当前时间点的下一时间点生成下一个时间窗口;若下一个时间点该用户又一次打榜,则下一个时间窗口的累加次数为7次;若下一个时间点该用户没有打榜,则下一个时间窗口依旧记录的累加次数为6次。
应用本发明实施例提供的方法,通过实时生成最小时间窗口,进行数据的聚合,降低资源的消耗,提高数据产出时效性。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种数据处理装置,用于对图1中方法的具体实现,本发明实施例提供的数据处理装置可以风控系统中,其结构示意图如图4所示,具体包括:
第一生成单元401,用于当检测到用户发送目标活动对应的操作请求时,生成所述操作请求对应的当前事件消息,并将所述事件消息加入预先设置的消息队列,应用Flink框架按照所述消息队列中已加入的各个事件消息的加入顺序,依次对各个所述事件消息进行处理;
第一获取单元402,用于当所述Flink框架处理到所述当前事件消息时,获取预先设置的规则库中最新更新的所述目标活动对应的规则信息;
关联单元403,用于将所述规则信息与所述事件消息进行关联,获得补全信息;
第二生成单元404,用于确定所述规则信息对应的聚合类型,并生成所述当前时间点对应的当前时间窗口;所述风控系统按照预先设置的最小时间单位实时生成时间窗口;
聚合单元405,用于应用所述当前时间窗口按照所述聚合类型对所述补全信息进行聚合,获得聚合结果,并将所述聚合结果持久化存储至预先设置的数据库;
第二获取单元406,用于当所述风控系统的中触发模块触发所述操作请求对应的执行指令时,获取所述规则信息中所述目标活动对应的活动规则,并从所述数据库中提取所述聚合结果;
判断单元407,用于判断所述聚合结果是否符合所述活动规则;
第一发送单元408,用于当所述聚合结果符合所述活动规则时,向所述用户发送所述操作请求对应的请求成功消息;
第二发送单元409,用于当所述聚合结果不符合所述活动规则时,向所述用户发送所述操作请求对应的请求失败消息。
本发明实施例提供的数据处理装置中,当用户发送目标活动对应的操作请求时,生成该操作请求对应的当前事件消息。将当前事件消息加入至消息队列中,应用风控系统中的Flink框架按照先进先出原则,依次对消息队列中的各个事件消息进行处理。当需要对当前事件消息进行处理时,获取规则库中该目标活动对应的规则信息,并将规则信息与事件消息关联,获得补全信息。确定规则信息对应的聚合类型,同时生成当前时间点对应的当前时间窗口,由当前生成的时间窗口按照该聚合类型对补全信息进行聚合,获得聚合结果。将聚合结果存储至数据库中,触发模块触发执行指令是,获取规则信息中目标活动对应的活动规则,提取该目标活动的聚合结果,判断聚合结果是否满足活动规则,若是,则向用户发送请求成功消息,反之则发送请求失败消息。
应用本发明实施例提供的装置,以最小时间单位生成时间窗口进行数据的聚合,降低资源的消耗,提高数据产出时效性。
本发明实施例提供的装置中,所述第一生成单元,包括:
转换子单元,用于将所述事件消息转换成json格式的事件消息,并将已转换格式的事件消息加入所述消息队列。
本发明实施例提供的装置中,所述关联单元,包括:
第一解析子单元,用于解析所述事件消息,获得所述事件消息中包含的事件代码;
第二解析子单元,用于解析所述规则信息,获得所述规则信息中包含的规则代码;
检测子单元,用于检测所述事件代码与所述规则代码是否一致;
关联子单元,用于若所述事件代码与所述规则代码一致,则将所述事件消息与所述规则信息关联,获得补全信息。
本发明实施例提供的装置中,所述聚合单元,包括:
第一获取子单元,用于获取所述聚合结果的各个结果字段;
计算子单元,用于对各个所述结果字段进行哈希运算,获得所述聚合结果的键值,所述键值为所述聚合结果的唯一识别码;
第一确定子单元,用于确定所述聚合类型对应的数据库接口;
存储子单元,用于将所述键值与所述聚合结果关联,获得关联结果,将所述关联结果经由所述数据库接口存储至所述数据库。
本发明实施例提供的装置中,所述判断单元,包括:
第二获取子单元,用于获取所述活动规则中包含的参数取值范围,及所述聚合结果中的结果参数;
第一判断子单元,用于判断所述结果参数是否在所述参数取值范围;
第二确定子单元,用于若所述结果参数在所述参数取值范围内,则确定所述聚合结果满足所述活动规则;
第三确定子单元,用于若结果参数不在所述参数取值范围内,则确定所述聚合结果不满足所述活动规则。
本发明实施例提供的装置中,还包括:
第三获取子单元,用于获取所述活动规则对应的活动循环周期;
第二判断子单元,用于判断所述当前时间点是否为所述活动循环周期的临界时间点;
第一执行子单元,用于若所述当前时间点并非所述活动循环周期的临界时间点,则基于所述最小时间单位,继续生成下一时间点的时间窗口;当所述用户在下一时间点未发送所述目标活动对应的操作请求时,所述下一时间点的时间窗口记录所述当前时间窗口的聚合结果;当所述用户在下一时间点再次发送所述目标活动对应的操作请求时,所述下一时间点的时间窗口记录下一时间点的操作请求对应的聚合结果;
第二执行子单元,用于若所述当前时间点为所述活动周期的临界时间点,则清空所述当前时间窗口中记录的聚合结果。
以上本发明实施例公开的数据处理装置中各个单元及子单元的具体工作过程,可参见本发明上述实施例公开的数据处理方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述数据处理方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
当检测到用户发送目标活动对应的操作请求时,生成所述操作请求对应的当前事件消息,并将所述事件消息加入预先设置的消息队列,应用Flink框架按照所述消息队列中已加入的各个事件消息的加入顺序,依次对各个所述事件消息进行处理;
当所述Flink框架处理到所述当前事件消息时,获取预先设置的规则库中最新更新的所述目标活动对应的规则信息;
将所述规则信息与所述事件消息进行关联,获得补全信息;
确定所述规则信息对应的聚合类型,并生成当前时间点对应的当前时间窗口;所述风控系统按照预先设置的最小时间单位实时生成时间窗口;
应用所述当前时间窗口按照所述聚合类型对所述补全信息进行聚合,获得聚合结果,并将所述聚合结果持久化存储至预先设置的数据库;
当所述风控系统的中触发模块触发所述操作请求对应的执行指令时,获取所述规则信息中所述目标活动对应的活动规则,并从所述数据库中提取所述聚合结果;
判断所述聚合结果是否符合所述活动规则;
当所述聚合结果符合所述活动规则时,向所述用户发送所述操作请求对应的请求成功消息;
当所述聚合结果不符合所述活动规则时,向所述用户发送所述操作请求对应的请求失败消息。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法应用于风控系统,所述方法包括:
当检测到用户发送目标活动对应的操作请求时,生成所述操作请求对应的当前事件消息,并将所述事件消息加入预先设置的消息队列,应用Flink框架按照所述消息队列中已加入的各个事件消息的加入顺序,依次对各个所述事件消息进行处理;
当所述Flink框架处理到所述当前事件消息时,获取预先设置的规则库中最新更新的所述目标活动对应的规则信息;
将所述规则信息与所述事件消息进行关联,获得补全信息;
确定所述规则信息对应的聚合类型,并生成当前时间点对应的当前时间窗口;所述风控系统按照预先设置的最小时间单位实时生成时间窗口;
应用所述当前时间窗口按照所述聚合类型对所述补全信息进行聚合,获得聚合结果,并将所述聚合结果持久化存储至预先设置的数据库;
当所述风控系统的中触发模块触发所述操作请求对应的执行指令时,获取所述规则信息中所述目标活动对应的活动规则,并从所述数据库中提取所述聚合结果;
判断所述聚合结果是否符合所述活动规则;
当所述聚合结果符合所述活动规则时,向所述用户发送所述操作请求对应的请求成功消息;
当所述聚合结果不符合所述活动规则时,向所述用户发送所述操作请求对应的请求失败消息。
2.根据权利要求1所述的方法,其特征在于,所述将所述事件消息加入预先设置的消息队列,包括:
将所述事件消息转换成json格式的事件消息,并将已转换格式的事件消息加入所述消息队列。
3.根据权利要求1所述的方法,其特征在于,所述将所述规则信息与所述事件消息进行关联,获得补全信息,包括:
解析所述事件消息,获得所述事件消息中包含的事件代码;
解析所述规则信息,获得所述规则信息中包含的规则代码;
检测所述事件代码与所述规则代码是否一致;
若所述事件代码与所述规则代码一致,则将所述事件消息与所述规则信息关联,获得补全信息。
4.根据权利要求1所述的方法,其特征在于,所述将所述聚合结果持久化存储至预先设置的数据库,包括:
获取所述聚合结果的各个结果字段;
对各个所述结果字段进行哈希运算,获得所述聚合结果的键值,所述键值为所述聚合结果的唯一识别码;
确定所述聚合类型对应的数据库接口;
将所述键值与所述聚合结果关联,获得关联结果,将所述关联结果经由所述数据库接口存储至所述数据库。
5.根据权利要求4所述的方法,其特征在于,所述判断所述聚合结果是否符合所述活动规则,包括:
获取所述活动规则中包含的参数取值范围,及所述聚合结果中的结果参数;
判断所述结果参数是否在所述参数取值范围;
若所述结果参数在所述参数取值范围内,则确定所述聚合结果满足所述活动规则;
若结果参数不在所述参数取值范围内,则确定所述聚合结果不满足所述活动规则。
6.根据权利要求4所述的方法,其特征在于,还包括:
获取所述活动规则对应的活动循环周期;
判断所述当前时间点是否为所述活动循环周期的临界时间点;
若所述当前时间点并非所述活动循环周期的临界时间点,则基于所述最小时间单位,继续生成下一时间点的时间窗口;当所述用户在下一时间点未发送所述目标活动对应的操作请求时,所述下一时间点的时间窗口记录所述当前时间窗口的聚合结果;当所述用户在下一时间点再次发送所述目标活动对应的操作请求时,所述下一时间点的时间窗口记录下一时间点的操作请求对应的聚合结果;
若所述当前时间点为所述活动周期的临界时间点,则清空所述当前时间窗口中记录的聚合结果。
7.一种数据处理装置,其特征在于,所述装置应用于风控系统,所述装置包括:
第一生成单元,用于当检测到用户发送目标活动对应的操作请求时,生成所述操作请求对应的当前事件消息,并将所述事件消息加入预先设置的消息队列,应用Flink框架按照所述消息队列中已加入的各个事件消息的加入顺序,依次对各个所述事件消息进行处理;
第一获取单元,用于当所述Flink框架处理到所述当前事件消息时,获取预先设置的规则库中最新更新的所述目标活动对应的规则信息;
关联单元,用于将所述规则信息与所述事件消息进行关联,获得补全信息;
第二生成单元,用于确定所述规则信息对应的聚合类型,并生成所述当前时间点对应的当前时间窗口;所述风控系统按照预先设置的最小时间单位实时生成时间窗口;
聚合单元,用于应用所述当前时间窗口按照所述聚合类型对所述补全信息进行聚合,获得聚合结果,并将所述聚合结果持久化存储至预先设置的数据库;
第二获取单元,用于当所述风控系统的中触发模块触发所述操作请求对应的执行指令时,获取所述规则信息中所述目标活动对应的活动规则,并从所述数据库中提取所述聚合结果;
判断单元,用于判断所述聚合结果是否符合所述活动规则;
第一发送单元,用于当所述聚合结果符合所述活动规则时,向所述用户发送所述操作请求对应的请求成功消息;
第二发送单元,用于当所述聚合结果不符合所述活动规则时,向所述用户发送所述操作请求对应的请求失败消息。
8.根据权利要求7所述的装置,其特征在于,所述第一生成单元,包括:
转换子单元,用于将所述事件消息转换成json格式的事件消息,并将已转换格式的事件消息加入所述消息队列。
9.根据权利要求7所述的装置,其特征在于,所述关联单元,包括:
第一解析子单元,用于解析所述事件消息,获得所述事件消息中包含的事件代码;
第二解析子单元,用于解析所述规则信息,获得所述规则信息中包含的规则代码;
检测子单元,用于检测所述事件代码与所述规则代码是否一致;
关联子单元,用于若所述事件代码与所述规则代码一致,则将所述事件消息与所述规则信息关联,获得补全信息。
10.根据权利要求7所述的装置,其特征在于,所述聚合单元,包括:
第一获取子单元,用于获取所述聚合结果的各个结果字段;
计算子单元,用于对各个所述结果字段进行哈希运算,获得所述聚合结果的键值,所述键值为所述聚合结果的唯一识别码;
第一确定子单元,用于确定所述聚合类型对应的数据库接口;
存储子单元,用于将所述键值与所述聚合结果关联,获得关联结果,将所述关联结果经由所述数据库接口存储至所述数据库。
CN202110918904.2A 2021-08-11 2021-08-11 数据处理方法及装置 Pending CN113609202A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110918904.2A CN113609202A (zh) 2021-08-11 2021-08-11 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110918904.2A CN113609202A (zh) 2021-08-11 2021-08-11 数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN113609202A true CN113609202A (zh) 2021-11-05

Family

ID=78308190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110918904.2A Pending CN113609202A (zh) 2021-08-11 2021-08-11 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN113609202A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117098188A (zh) * 2023-08-11 2023-11-21 武汉博易讯信息科技有限公司 一种通过n4流量进行用户面数据关联回填方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092582A1 (zh) * 2015-12-01 2017-06-08 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN111143415A (zh) * 2019-12-26 2020-05-12 政采云有限公司 一种数据处理方法、装置和计算机可读存储介质
CN112364187A (zh) * 2020-10-27 2021-02-12 南阳理工学院 基于大数据的汽车配件数据库建库方法、装置及设备
CN112468472A (zh) * 2020-11-18 2021-03-09 中通服咨询设计研究院有限公司 一种基于安全日志关联分析的安全策略自反馈方法
CN112925664A (zh) * 2021-03-30 2021-06-08 中国建设银行股份有限公司 目标用户的确定方法、装置、电子设备及存储介质
CN113052641A (zh) * 2021-04-21 2021-06-29 湖南快乐阳光互动娱乐传媒有限公司 活动奖励数据的处理方法及装置、电子设备、存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092582A1 (zh) * 2015-12-01 2017-06-08 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN111143415A (zh) * 2019-12-26 2020-05-12 政采云有限公司 一种数据处理方法、装置和计算机可读存储介质
CN112364187A (zh) * 2020-10-27 2021-02-12 南阳理工学院 基于大数据的汽车配件数据库建库方法、装置及设备
CN112468472A (zh) * 2020-11-18 2021-03-09 中通服咨询设计研究院有限公司 一种基于安全日志关联分析的安全策略自反馈方法
CN112925664A (zh) * 2021-03-30 2021-06-08 中国建设银行股份有限公司 目标用户的确定方法、装置、电子设备及存储介质
CN113052641A (zh) * 2021-04-21 2021-06-29 湖南快乐阳光互动娱乐传媒有限公司 活动奖励数据的处理方法及装置、电子设备、存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117098188A (zh) * 2023-08-11 2023-11-21 武汉博易讯信息科技有限公司 一种通过n4流量进行用户面数据关联回填方法及系统
CN117098188B (zh) * 2023-08-11 2024-03-12 武汉博易讯信息科技有限公司 一种通过n4流量进行用户面数据关联回填方法及系统

Similar Documents

Publication Publication Date Title
CN106815254B (zh) 一种数据处理方法和装置
CN108429800A (zh) 一种移动设备
WO2014187304A1 (zh) 用户状态确定方法及装置
CN108322350B (zh) 业务监控方法及装置和电子设备
WO2014169661A1 (en) Method and system for processing report information
CN108521405A (zh) 一种风险管控方法、装置及存储介质
CN111508608A (zh) 疾病信息的处理方法、装置、设备以及存储介质
CN112162965A (zh) 一种日志数据处理的方法、装置、计算机设备及存储介质
CN106453593B (zh) 一种消息推送方法及装置
CN111158926B (zh) 业务请求分析方法、装置及设备
CN110109978A (zh) 基于指标的数据分析方法、装置、服务器及可读存储介质
CN111311014A (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN108428001B (zh) 信用分值预测方法及装置
CN113609202A (zh) 数据处理方法及装置
CN114445088A (zh) 一种欺诈行为的判定方法、装置、电子设备和存储介质
CN110796591A (zh) 一种gpu卡的使用方法及相关设备
CN109241031B (zh) 模型生成方法、模型使用方法、装置、系统及存储介质
CN107480703B (zh) 交易故障检测方法及装置
CN116756522B (zh) 概率预报方法、装置、存储介质及电子设备
CN104462116B (zh) 数据选择的方法及装置
CN111506455B (zh) 服务发布结果的查验方法及装置
CN113342608A (zh) 流式计算引擎任务的监控方法及装置
CN114172856B (zh) 消息自动回复方法、装置、设备及存储介质
CN111722973A (zh) 一种事件超时监控方法、系统及存储介质
CN108632054A (zh) 信息传播量的预测方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination