一种基于流式计算的风控方法、系统及设备转让专利

申请号 : CN202110603658.1

文献号 : CN113052516B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张民遐邓振鹏曾德长刘武阳

申请人 : 深圳高灯计算机科技有限公司

摘要 :

本发明公开了一种基于流式计算的风控方法、系统及设备。该方法包括:根据当前业务数据获取至少一个风控指标值;确定至少一个风控特征,每个风控特征包括N个风控指标值;根据风控特征中包含的N个风控指标值确定风控策略;并针对每个风控策略进行风控策略配置,风控策略配置包括设定风控特征中每个风控指标值的阈值和权重;根据风控指标值以及风控指标值的阈值和权重计算当前业务数据的风险系数,并根据风险系数对当前业务数据做出风控决策。本发明的有益效果为:可以实时业务数据进行获取和分析计算,根据风控策略对实时业务数据进行监控,快速的识别业务行为风险并进行风控决策。

权利要求 :

1.一种基于流式计算的风控方法,其特征在于,该方法包括:根据当前业务数据获取至少一个风控指标值,包括:针对每个所述风控指标值,通过积分图算法计算每次获取的所述风控指标值的累加值,包括:确定每个时间间隔对应的风控指标值;

确定第一时间段内所有风控指标值的第一累加值,所述第一累加值为所述第一时间段内各个时间间隔对应的风控指标值的和;

确定第二时间段内所有风控指标值的第二累加值,所述第二累加值为所述第二时间段内各个时间间隔对应的风控指标值的和;

确定第三时间段内所有风控指标值的第三累加值,所述第三时间段为所述第二时间段的终止时间与所述第一时间段的终止时间之间的时间区间,所述第三累加值为所述第二累加值减去所述第一累加值;

确定至少一个风控特征,每个所述风控特征包括N个所述风控指标值,其中,N为大于或等于1的整数;

分别确定每个所述风控指标值对应的子风控策略,M个所述子风控策略组成一个风控策略,其中,M为大于或等于1的整数;并针对每个所述风控策略进行风控策略配置,所述风控策略配置包括:设定所述风控特征中每个风控指标值的阈值和权重,包括:根据每个所述风控指标值对应的历史业务数据,确定每个所述风控指标值对应的实际风控准确率;

根据每个所述风控指标值的实际风控准确率确定每个所述风控指标值的权重,包括:在所述风控指标值的实际风控准确率小于或等于第一预设阈值时,确定所述风控指标的权重为第一目标权重;

在所述风控指标值的实际风控准确率大于第一预设阈值且小于或等于第二预设阈值时,确定所述风控指标的权重为第二目标权重;

在所述风控指标值的实际风控准确率大于第二预设阈值且小于或等于第三预设阈值时,确定所述风控指标的权重为第三目标权重;

依次类推,在所述风控指标值的实际风控准确率大于第K预设阈值时,确定所述风控指标的权重为第K目标权重,其中,K为正整数;其中,各个目标权重通过以下方法获取:设定一个包含初始化权重的权重范围;

将所述权重范围进行网格划分,得到多个权重区间,其中,每个权重区间对应一个参考权重,多个所述参考权重集合成一个权重集;

在所述权重集中选取一个参考权重作为目标权重;

根据所述风控指标值以及所述风控指标值的阈值和权重计算所述当前业务数据的风险系数,包括:

针对N个风控指标值,分别计算每个所述风控指标值与其阈值的偏离系数,得到N个偏离系数;

对所述N个偏离系数进行加权求和得到所述风险系数,其中,每个偏离系数的权重为所述偏离系数对应的风控指标值在风控策略配置时设定的权重;

并根据所述风险系数对所述当前业务数据做出风控决策。

2.根据权利要求1所述的方法,其特征在于,设定所述风控特征中每个风控指标值的阈值,包括:

根据每个所述风控指标值对应的历史业务数据,确定所述历史业务数据的最值或概率值,根据所述最值或概率值确定所述阈值,其中,所述最值为最大值或最小值。

3.一种基于流式计算的风控系统,其特征在于,该系统包括:风控指标获取模块,其用于根据当前业务数据获取至少一个风控指标值,包括:针对每个所述风控指标值,通过积分图算法计算每次获取的所述风控指标值的累加值,,包括:确定每个时间间隔对应的风控指标值;

确定第一时间段内所有风控指标值的第一累加值,所述第一累加值为所述第一时间段内各个时间间隔对应的风控指标值的和;

确定第二时间段内所有风控指标值的第二累加值,所述第二累加值为所述第二时间段内各个时间间隔对应的风控指标值的和;

确定第三时间段内所有风控指标值的第三累加值,所述第三时间段为所述第二时间段的终止时间与所述第一时间段的终止时间之间的时间区间,所述第三累加值为所述第二累加值减去所述第一累加值;

风控特征确定模块,其用于确定至少一个风控特征,每个所述风控特征包括N个所述风控指标值,其中,N为大于或等于1的整数;

风控策略确定模块,其用于分别确定每个所述风控指标值对应的子风控策略,M个所述子风控策略组成一个风控策略,其中,M为大于或等于1的整数;

风控策略配置模块,其用于针对每个所述风控策略进行风控策略配置,所述风控策略配置包括:设定所述风控特征中每个风控指标值的阈值和权重;包括:根据每个所述风控指标值对应的历史业务数据,确定每个所述风控指标值对应的实际风控准确率;

根据每个所述风控指标值的实际风控准确率确定每个所述风控指标值的权重,包括:在所述风控指标值的实际风控准确率小于或等于第一预设阈值时,确定所述风控指标的权重为第一目标权重;

在所述风控指标值的实际风控准确率大于第一预设阈值且小于或等于第二预设阈值时,确定所述风控指标的权重为第二目标权重;

在所述风控指标值的实际风控准确率大于第二预设阈值且小于或等于第三预设阈值时,确定所述风控指标的权重为第三目标权重;

依次类推,在所述风控指标值的实际风控准确率大于第K预设阈值时,确定所述风控指标的权重为第K目标权重,其中,K为正整数;其中,各个目标权重通过以下方法获取:设定一个包含初始化权重的权重范围;

将所述权重范围进行网格划分,得到多个权重区间,其中,每个权重区间对应一个参考权重,多个所述参考权重集合成一个权重集;

在所述权重集中选取一个参考权重作为目标权重;

风控策略执行模块,其用于根据所述风控指标值以及所述风控指标值的阈值和权重计算所述当前业务数据的风险系数;包括:针对N个风控指标值,分别计算每个所述风控指标值与其阈值的偏离系数,得到N个偏离系数;

对N个偏离系数进行加权求和得到所述风险系数,其中,每个偏离系数的权重为所述偏离系数对应的风控指标值在风控策略配置时设定的权重;

风控决策模块,其用于根据所述风险系数对所述当前业务数据做出风控决策。

4.一种发票开具实时风控系统,其特征在于,该系统包括:区块链电子发票开具系统和实时风控系统,

其中,所述区块链电子发票开具系统为多个用户提供开票服务,所述区块链电子发票开具系统将多个用户的实时开票数据发送至所述实时风控系统;

所述实时风控系统包括:

流式计算模块,其用于接收所述区块链电子发票开具系统发送的所述实时开票数据,并根据每个用户的实时开票数据分别计算每个用户的风控指标值,形成风控指标库;

风控策略执行模块,其用于根据每个用户的实时开票数据分别计算得到相应用户的实时风控决策:

风控决策执行模块,其用于根据每个用户的实时风控决策对相应用户执行相应的决策行为;

其中,所述风控策略执行模块采用如权利要求1‑2中任一项所述的方法。

5.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现如权利要求1‑2中任一项所述的方法。

6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现如权利要求1‑2中任一项所述的方法。

说明书 :

一种基于流式计算的风控方法、系统及设备

技术领域

[0001] 本发明涉及计算机技术领域,具体而言,涉及一种基于流式计算的风控方法、系统及设备。

背景技术

[0002] 现有的风控系统是基于关系型数据库或列式数据库保存历史业务数据,并通过SQL(结构化查询语言)对历史业务数据进行批量计算。当业务数据量较大,达到百万行级别
时,风控系统对数据的读取、计算会造成分钟级别的时延,相应时间太慢,导致风控系统无
法在短时间内进行快速应对。
[0003] 随着税务改革深入,区块链电子发票的试行,税务管理风险随之增加,区块链电子发票为企业带来的税务管理上的便捷,但控制虚开发票的难度也在增大。迫切需要高效、实
时的发票虚开风控方法。

发明内容

[0004] 为解决上述问题,本发明的目的在于提供一种具有高效决策理论、灵敏预警机制、科学评估模式、合理惩戒和纠偏模式的风控方法、系统及设备。
[0005] 本发明提供了一种基于流式计算的风控方法,该方法包括:
[0006] 根据当前业务数据获取至少一个风控指标值;
[0007] 确定至少一个风控特征,每个所述风控特征包括N个所述风控指标值,其中,N为大于或等于1的整数;
[0008] 分别确定每个所述风控指标值对应的子风控策略,M个所述子风控策略组成一个风控策略,其中,M为大于或等于1的整数;并针对每个所述风控策略进行风控策略配置,所
述风控策略配置包括:设定所述风控特征中每个风控指标值的阈值和权重;
[0009] 根据所述风控指标值以及所述风控指标值的阈值和权重计算所述当前业务数据的风险系数,并根据所述风险系数对所述当前业务数据做出风控决策。
[0010] 作为本发明进一步的改进,所述根据所述风控指标值以及所述风控指标值的阈值和权重计算所述当前业务数据的风险系数,包括:
[0011] 针对N个风控指标值,分别计算每个所述风控指标值与其阈值的偏离系数,得到N个偏离系数;
[0012] 对所述N个偏离系数进行加权求和得到所述风险系数,其中,每个偏离系数的权重为所述偏离系数对应的风控指标值在风控策略配置时设定的权重。
[0013] 作为本发明进一步的改进,所述根据当前业务数据获取至少一个风控指标值,包括:
[0014] 针对每个所述风控指标值,通过积分图算法计算每次获取的所述风控指标值的累加值,包括:
[0015] 确定每个时间间隔对应的风控指标值;
[0016] 确定第一时间段内所有风控指标值的第一累加值,所述第一累加值为所述第一时间段内各个时间间隔对应的风控指标值的和;
[0017] 确定第二时间段内所有风控指标值的第二累加值,所述第二累加值为所述第二时间段内各个时间间隔对应的风控指标值的和;
[0018] 确定第三时间段内所有风控指标值的第三累加值,所述第三时间段为所述第二时间段的终止时间与所述第一时间段的终止时间之间的时间区间,所述第三累加值为所述第
二累加值减去所述第一累加值。
[0019] 作为本发明进一步的改进,设定所述风控特征中每个风控指标值的阈值,包括:
[0020] 根据每个所述风控指标值对应的历史业务数据,确定所述历史业务数据的最值或概率值,根据所述最值或概率值确定所述阈值,其中,所述最值为最大值或最小值。
[0021] 作为本发明进一步的改进,设定所述风控特征中每个风控指标值的权重,包括:
[0022] 根据每个所述风控指标值对应的历史业务数据,确定每个所述风控指标值对应的实际风控准确率;
[0023] 根据每个所述风控指标值的实际风控准确率确定每个所述风控指标值的权重,包括:
[0024] 在所述风控指标值的实际风控准确率小于或等于第一预设阈值时,确定所述风控指标的权重为第一目标权重;
[0025] 在所述风控指标值的实际风控准确率大于第一预设阈值且小于或等于第二预设阈值时,确定所述风控指标的权重为第二目标权重;
[0026] 在所述风控指标值的实际风控准确率大于第二预设阈值且小于或等于第三预设阈值时,确定所述风控指标的权重为第三目标权重;
[0027] 依次类推,在所述风控指标值的实际风控准确率大于第K预设阈值时,确定所述风控指标的权重为第K目标权重,其中,K为正整数。
[0028] 作为本发明进一步的改进,各个目标权重通过以下方法获取:
[0029] 设定一个包含初始化权重的权重范围;
[0030] 将所述权重范围进行网格划分,得到多个权重区间,其中,每个权重区间对应一个参考权重,多个所述参考权重集合成一个权重集;
[0031] 在所述权重集中选取一个参考权重作为目标权重。
[0032] 作为本发明进一步的改进,所述方法还包括:对各个所述风险系数进行区间划分,位于不同区间的所述风险系数对应不同的风控决策。
[0033] 本发明还提供了一种基于流式计算的风控系统,该系统包括:
[0034] 风控指标获取模块,其用于根据当前业务数据获取至少一个风控指标值;
[0035] 风控特征确定模块,其用于确定至少一个风控特征,每个所述风控特征包括N个所述风控指标值,其中,N为大于或等于1的整数;
[0036] 风控策略确定模块,其用于分别确定每个所述风控指标值对应的子风控策略,M个所述子风控策略组成一个风控策略,其中,M为大于或等于1的整数;
[0037] 风控策略配置模块,其用于针对每个所述风控策略进行风控策略配置,所述风控策略配置包括:设定所述风控特征中每个风控指标值的阈值和权重;
[0038] 风控策略执行模块,其用于根据所述风控指标值以及所述风控指标值的阈值和权重计算所述当前业务数据的风险系数;
[0039] 风控决策模块,其用于根据所述风险系数对所述当前业务数据做出风控决策。
[0040] 作为本发明进一步的改进,所述风控策略执行模块,包括:
[0041] 针对N个风控指标值,分别计算每个所述风控指标值与其阈值的偏离系数,得到N个偏离系数;
[0042] 对N个偏离系数进行加权求和得到所述风险系数,其中,每个偏离系数的权重为所述偏离系数对应的风控指标值在风控策略配置时设定的权重。
[0043] 作为本发明进一步的改进,所述风控指标获取模块,包括:
[0044] 针对每个所述风控指标值,通过积分图算法计算每次获取的所述风控指标值的累加值,包括:
[0045] 确定每个时间间隔对应的风控指标值;
[0046] 确定第一时间段内所有风控指标值的第一累加值,所述第一累加值为所述第一时间段内各个时间间隔对应的风控指标值的和;
[0047] 确定第二时间段内所有风控指标值的第二累加值,所述第二累加值为所述第二时间段内各个时间间隔对应的风控指标值的和;
[0048] 确定第三时间段内所有风控指标值的第三累加值,所述第三时间段为所述第二时间段的终止时间与所述第一时间段的终止时间之间的时间区间,所述第三累加值为所述第
二累加值减去所述第一累加值。
[0049] 作为本发明进一步的改进,所述风控策略配置模块,设定所述风控特征中每个风控指标值的阈值,包括:
[0050] 根据每个所述风控指标值对应的历史业务数据,确定所述历史业务数据的最值或概率值,根据所述最值或概率值确定所述阈值,其中,所述最值为最大值或最小值。
[0051] 作为本发明进一步的改进,所述风控策略配置模块,设定所述风控特征中每个风控指标值的权重,包括:
[0052] 根据每个所述风控指标值对应的历史业务数据,确定每个所述风控指标值对应的实际风控准确率;
[0053] 根据每个所述风控指标值的实际风控准确率确定每个所述风控指标值的权重,包括:
[0054] 在所述风控指标值的实际风控准确率小于或等于第一预设阈值时,确定所述风控指标的权重为第一目标权重;
[0055] 在所述风控指标值的实际风控准确率大于第一预设阈值且小于或等于第二预设阈值时,确定所述风控指标的权重为第二目标权重;
[0056] 在所述风控指标值的实际风控准确率大于第二预设阈值且小于或等于第三预设阈值时,确定所述风控指标的权重为第三目标权重;
[0057] 依次类推,在所述风控指标值的实际风控准确率大于第K预设阈值时,确定所述风控指标的权重为第K目标权重,其中,K为正整数。
[0058] 作为本发明进一步的改进,所述风控决策模块,包括对所述风险系数进行区间划分,位于不同区间的所述风险系数应不同的风控决策。
[0059] 作为本发明进一步的改进,各个目标权重通过以下方法获取:
[0060] 设定一个包含初始化权重的权重范围;
[0061] 将所述权重范围进行网格划分,得到多个权重区间,其中,每个权重区间对应一个参考权重,多个所述参考权重集合成一个权重集;
[0062] 在所述权重集中选取一个参考权重作为目标权重。
[0063] 作为本发明进一步的改进,所述风控决策模块,包括对各个所述风险系数进行区间划分,位于不同区间的所述风险系数应不同的风控决策。
[0064] 本发明提供了一种发票开具实时风控系统,该系统包括:区块链电子发票开具系统和实时风控系统,
[0065] 其中,所述区块链电子发票开具系统为多个用户提供开票服务,所述区块链电子发票开具系统将多个用户的实时开票数据发送至所述实时风控系统;
[0066] 所述实时风控系统包括:
[0067] 流式计算模块,其用于接收所述区块链电子发票开具系统发送的所述实时开票数据,并根据每个用户的实时开票数据分别计算每个用户的风控指标值,形成风控指标库;
[0068] 风控策略执行模块,其用于根据每个用户的实时开票数据分别计算得到相应用户的实时风控决策:
[0069] 风控决策执行模块,其用于根据每个用户的实时风控决策对相应用户执行相应的决策行为;
[0070] 其中,所述风控策略执行模块采用本发明的基于流式计算的风控方法。
[0071] 作为本发明进一步的改进,所述系统还包括:
[0072] 数据缓冲模块,其用于接收所述区块链电子发票开具系统发送的多条实时开票数据,对所述多条实时开票数据按照接收时间进行排序,并将排序后的所述多条实时开票数
据按照先后顺序逐条发送至所述实时风控系统。
[0073] 本发明提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现上述基于流式计
算的风控方法。
[0074] 本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述基于流式计算的风控方法。
[0075] 本发明的有益效果为:通过在业务无感知的场景下,非侵入式地对业务数据进行获取和分析计算,根据风控策略对实时业务数据进行监控。并通过减少重复计算、优化计算
方法、缓存中间计算状态等方法实现实时数据分析和特征计算,实现实时的、快速的识别业
务行为风险并进行风控决策。
[0076] 在开具发票业务场景下,通过获取实时开票数据对开票事件进行风险控制,识别风险从而对用户的开票行为进行监控,避免出现虚开发票的情况。能够帮助税务系统在业
务端进行前置风险判断、活动留痕,便于追溯,实现实时的税务风险控制。同时,能帮助用户
进行风险内控,避免出现税务风险动作,有利于纳税人促进遵从、提高信用、降低涉税成本。

附图说明

[0077] 图1为本发明实施例所述的一种基于流式计算的风控方法的流程图;
[0078] 图2为本发明实施例所述的一种基于流式计算的风控方法的计算风险系数的流程图;
[0079] 图3为本发明实施例所述的一种基于流式计算的风控系统的系统结构示意图;
[0080] 图4为本发明实施例所述的一种发票开具实时风控系统的系统框架图;
[0081] 图5为本发明实施例所述的一种发票开具实时风控系统的数据流向示意图;
[0082] 图6为本发明实施例所述的一种发票开具实时风控系统的时序图;
[0083] 图7为本发明实施例所述的一种基于流式计算的风控方法的积分图计算区域示意图。

具体实施方式

[0084] 下面将结合本发明实施例中的附图,对发明开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本公开保护的范围。
[0085] 本发明实施例的一种基于流式计算的风控方法,如图1所示,该方法包括:根据当前业务数据获取至少一个风控指标值;根据风控指标值确定至少一个风控特征,每个风控
特征包括N个风控指标值,其中,N为大于等于1的整数;根据风控特征中包含的N个风控指标
值,分别确定每个风控指标值对应的子风控策略,M个子风控策略组成一个风控策略;并针
对每个风控策略进行风控策略配置,风控策略配置包括:设定风控特征中每个风控指标值
的阈值和权重;根据风控指标值以及风控指标值的阈值和权重计算当前业务数据的风险系
数,并根据风险系数对当前业务数据做出风控决策。
[0086] 其中,风控指标值由业务数据根据不同窗口大小、不同口径、不同维度统计出来的聚合数值,例如:“连续7天内用户开票的抬头数量为10个”、“最近30天商户开票用户密度为
20%”、“该商户最近开具的100张发票的平均开票金额为1234元”,其中“10个”、“20%”、“1234
元”为风控指标值。风控指标值也可以是对窗口内的数值进行求和、累加、平均、并集、交集
等运算后计算出来的数值,窗口例如可以是时间窗口(例如:最近1天、最近7天、最近30天)、
张数窗口(例如:最近50张、最近100张)。其中,时间窗口又分滑动窗口与翻滚窗口,例如:
“以7天为窗口大小,以1天为步长”类型的,窗口之间具有重叠部分的称为滑动窗口;而例如
“本周”、“上个月”、“今年”类型的,窗口之间没有重叠部分的称之为翻滚窗口。
[0087] 风控特征为一系列风控指标值的组合,可以是1*m维的向量(m代表风控指标值的数量),也可以是n*m维的矩阵(n代表时间、用户等,m代表风控指标值的数量)。例如:某个用
户的开票行为可以用一个风控特征表示为:<最近3天的开票量, 最近10张发票平均金额>,
若某用户最近3天开票量为5张,最近10张发票平均金额为1234元,那么可以将该用户从数
学上形式化为一个特征向量<5,1234>,包含两个风控指标值,其中,一个风控指标值为5,另
一个风控指标值为1234。
[0088] 风控指标值对应的子风控策略即为基于该风控指标值的判断条件,例如:“用户最近3天开票量超过3张的”、“最近10张发票平均金额大于等于1000元的”,M个子风控策略组
成一个风控策略,M为大于或等于1的整数,通常M=N,一个风控策略例如为:“用户最近3天开
票量超过3张,且最近10张发票平均金额大于等于1000元”。对每个风控策略进行风控策略
配置,即设定风控特征中每个风控指标值的阈值和权重;例如,“用户最近3天开票量超过3
张,且最近10张发票平均金额大于等于1000元”,可以设定阈值为3张、1000元,两个风控指
标值的权重均为0.5。本发明对权重和阈值不做具体限定,包括但不限于与上述示例。
[0089] 一种可选的实施方式,如图2所示,根据风控指标值以及风控指标值的阈值和权重计算当前业务数据的风险系数,包括:针对N个风控指标值,分别计算每个风控指标值与其
阈值的偏离系数,得到N个偏离系数;对N个偏离系数进行加权求和得到风险系数,其中,每
个偏离系数的权重为偏离系数对应的风控指标值在风控策略配置时设定的权重。例如,风
控特征包括两个风控指标值,即风控特征为<5,1234>,阈值为<3,1000>,则偏离系数包括:
(5‑3)/3=0.66,(1234‑1000)/1000=0.234;风险系数为0.66*0.5+0.234*0.5=0.447,并通过
计算得到的风险系数做出相应的风控决策。
[0090] 一种可选的实施方式,根据当前业务数据获取至少一个风控指标值,包括:针对每个风控指标值,计算每次获取的风控指标值的累积值(即中间计算状态),累积值用于下一
次计算获取风控指标值。针对每个风控指标值,通过积分图算法计算每次获取的风控指标
值的累加值,包括:确定每个时间间隔对应的风控指标值;从某一时间点开始,确定第一时
间段内所有风控指标值的第一累加值,第一累加值为第一时间段内各个时间间隔对应的风
控指标值的和;确定第二时间段内所有风控指标值的第二累加值,第二累加值为第二时间
段内各个时间间隔对应的风控指标值的和,第一时间段和第二时间段的起始时间相同;确
定第三时间段内所有风控指标值的第三累加值,第三时间段为第二时间段的终止时间与第
一时间段的终止时间之间的时间区间,第三累加值为第二累加值减去第一累加值。在风控
系统中,最耗时、计算量最大的部分为风控指标值的计算,例如,若需要统计某用户“在过去
365天内,以7天为窗口大小,以1天为窗口步长,平均开票金额大于1万元的次数”,当数据量
较大时,计算量也相应变大。可以采取积分图、快速滑动并集等方法来对窗口计算进行优
化,通过降低计算复杂度,从而减少计算时间,实现毫秒级的计算。在风控过程中,业务数据
是一条一条流式地产生的,当以窗口的方式进行滑动求和、求平均计算时,往往有许多重叠
的区域发生重复运算。例如,通过某用户某个月每一天的开票金额,计算1号到10号的开票
金额总和,以及5号到15号的开票金额总和,若分别进行计算,则其中5号到10号区间的开票
金额总和就被重复计算了两次,而通过计算每一天的累加值,可以避免上述情况出现重复
计算,即积分图算法。例如要计算5号到10号的开票金额总和(即计算第三累加值),1号到5
号为第一时间段,1号到10号为第二时间段,5号到10号为第三时间段,1号到5好的开票金额
总和为第一累加值,1号到10号的开票金额总和为第二累加值,则计算5号到10号的开票金
额总和(第三累加值)为第二累加值减去第一累加值。
[0091] 即,在发票业务场景中,通过某用户某个月每一天的开票金额,计算1号到10号的开票金额总和,以及5号到15号的开票金额总和;则先计算出每一天的积分值:x[i]表示为
第i天的开票金额,y[i]表示截止第i天的累加值(即积分值),y[i] = x[1] + x[2] +  .... 
x[i]。
[0092] 通过遍历一次x[i]计算出y[i]之后,那么第i天到第j天的开票金额之和,可表示为:
[0093] x[i] + x[i+1] + ... + x[j ‑ 1] + x[j]
[0094]  = ( x[1] + x[2] + ... + x[j‑1] + x[j] ) ‑ (x[1] + x[2] +  ... + x[i ‑ 1] )
[0095]  = y[j] ‑ y[j ‑ 1]
[0096] 由此可知,得到积分数组之后,可以通过一次在积分值上的减法就可以算出从第i天到第j天的开票金额之和。在上述示例中,通过遍历31天开票金额累加得到一个长度为31
天的积分数组y之后,那么1号到10号的开票金额等于y[10] ‑ y[0];5号到15号的开票金额
等于y[15] ‑ y[5],均只需通过一次普通减法运算即可算出。相比于每次遍历10天求和的
方式,运算次数从10次加法优化到了1次减法,相当于减少了90%的计算量。当数组x的长度
越长,i和j的距离越大的情况下,采用上述一维积分数组求和方法,计算量会显著降低。
[0097] 在实际发票业务场景中,由于风控特征不只是一维的数组数据,也可能是二维的矩阵数据,这种情况可使用积分图算法的局部矩形求和进行优化。
[0098] 二维积分图算法的原理为:
[0099] 积分图的每一点(x,y)的值时原图汇总对应位置的左上角区域的所有值的和:
[0100]
[0101] 每一点(x,y)的值可以只遍历一次图像即可有效的计算出来,积分图每一点(x,y)的值为:
[0102]
[0103] 对每一点的积分图计算完成后,对任意矩形区域的和的计算就可以在常数时间内完成。如图7所示,阴影矩形区域的值为:
[0104]
[0105] 对任意矩形区域的和可通过三次加减法运算计算得出。
[0106] 在实际发票风控场景中,有的风控特征是基于时间维度上做求和、求平均运算而来的。因此,通过事先遍历一次业务数据,计算出积分图后,后续的风控指标值计算均可以
通过1次(一维积分数组)或3次(二维积分图)加减法运算计算得出。若某个用户的风控特征
需要在不同的维度上计算上百万次,那么积分图可以通过利用上次计算结果、减少计算次
数来将每次计算时间减少到毫秒级内完成。
[0107] 一种可选的实施方式,设定风控特征中每个风控指标值的阈值,包括:根据每个风控指标值对应的历史业务数据,确定历史业务数据的最值或概率值,根据最值或概率值确
定阈值。例如,风险指标值为“一个用户一周内开具的发票抬头数”,根据该风险指标值的历
史业务数据,若一个用户一周内开具的发票抬头数最大值为5张,则设定该风险指标值的阈
值为5,超过5个则被视为具有一定的虚假开票风险。例如,若某用户一天内在5家不同的商
户发生消费行为并开具5张1000元以上的发票的用户数量占比小于0.1%,结合历史业务数
据确定该风险指标值的阈值为0.1%,基于该阈值筛选出来的用户确实具有一定的假开票风
险,与实际情况是相符的。
[0108] 一种可选的实施方式,设定风控特征中每个风控指标值的权重,包括:根据每个风控指标值对应的历史业务数据,确定每个风控指标值对应的实际风控准确率;并根据每个
风控指标值的实际风控准确率确认每个风控指标值的权重,若风控指标值的实际风控准确
率越高,则风控指标的权重越大。例如在风控指标值的实际风控准确率小于或等于第一预
设阈值时,确定风控指标的权重为第一目标权重;在风控指标值的实际风控准确率大于第
一预设阈值且小于或等于第二预设阈值时,确定风控指标的权重为第二目标权重;在风控
指标值的实际风控准确率大于第二预设阈值且小于或等于第三预设阈值时,确定风控指标
的权重为第三目标权重;依次类推,在风控指标值的实际风控准确率大于第K预设阈值时,
确定风控指标的权重为第K目标权重,其中,K为正整数。
[0109] 一种可选的实施方式,为了获取较优的目标权重,可以采用网格搜索方法搜索风控指标值的较优目标权重,具体方法是:根据风控指标值的重要性与风控指标值的分类效
果去初始化特征的权重,若单个风控指标值的区分效果越好,则该风控指标值对应的权重
应该更大。初步确定权重后,在初步的确定的权重(初始化权重)的左右区间设置一个范围,
在该范围内划分出几个区间(网格),每个区间包括一个候选权重;依次使用每个候选权重
在历史数据上进行回测,对比不同候选权重的回测效果,并采用候选权重中效果最好的作
为最终的权重。例如,一个风控指标值的权重初始化为0.3,那么可以左右设置一个范围
[0.25, 0.35], 然后以0.01为步长,得到候选权重集 [0.25, 0.26, 0.27, 0.28, 0.29, 
0.30, 0.31, 0.32, 0.33, 0.34, 0.35] ,最后根据每个候选权重的效果去确定最终的权
重。其中,风控指标值的分类效果的可使用混淆矩阵(confusion matrix)评估,混淆矩阵是
一种多类别分类模型的效果评估计算方法,使用TP/FN/FP/TN来计算, TP(True Positive)
为正类被预测为正类的数量,FN(False Negative)为正类被预测为负类的数量,FP(False 
Positive) 为负类被预测为正类的数量,TN(True Negative)为负类被预测为负类的数量。
若TP/TN越高、FN/FP越低,则代表模型的分类效果越好,预测越准确。在给定的权重参数集
合中,若一组权重参数计算出的分类混淆矩阵结果比另一组权重参数计算出的好,则表示
前者的权重分类效果更高。
[0110] 一种可选的实施方式,对风险系数进行区间划分,位于不同区间风险系数对应不同的风控决策。例如,将风险系数划分为:区间[0 0.1)为低风险、区间[0.1 0.2)为中风险,
~ ~
大于等于0.2的高风险,对于不同的风险等级采用不同的风控策略,风控策略例如为封号、
冻结和阻断等。
[0111] 通过该方法可以在业务无感知的场景下,非侵入式地对业务数据进行获取和分析计算,根据风控策略对实时业务数据进行监控。并通过减少重复计算、优化计算方法、缓存
中间计算状态等方法实现实时数据分析和特征计算,实现实时的、快速的识别业务行为风
险并进行风控决策。
[0112] 本发明还涉一种基于流式计算的风控系统,如图3所示,该系统包括:风控指标获取模块、风控特征确定模块、风控策略确定模块、风控策略配置模块、风控策略执行模块和
风控决策模块。其中,风控指标获取模块用于根据当前业务数据获取至少一个风控指标值;
风控特征确定模块用于根据风控指标值确定至少一个风控特征,每个风控特征包括N个风
控指标值,其中,N为大于等于1的整数;风控策略确定模块用于根据风控特征中包含的N个
风控指标值,分别确定每个风控指标值对应的子风控策略,M个子风控策略组成一个风控策
略;风控策略配置模块用于针对每个风控策略进行风控策略配置,风控策略配置包括:设定
风控特征中每个风控指标值的阈值和权重;风控策略执行模块用于根据风控指标值以及风
控指标值的阈值和权重计算当前业务数据的风险系数;风控决策模块用于根据风险系数对
当前业务数据做出风控决策。
[0113] 一种可选的实施方式,风控策略执行模块根据风控指标值以及风控指标值的阈值和权重计算当前业务数据的风险系数,包括:针对N个风控指标值,分别计算每个风控指标
值与其阈值的偏离系数,得到N个偏离系数;对N个偏离系数进行加权求和得到风险系数,其
中,每个偏离系数的权重为偏离系数对应的风控指标值在风控策略配置时设定的权重。
[0114] 一种可选的实施方式,风控指标获取模块根据当前开票数据获取至少一个风控指标值,包括:针对每个风控指标值,计算每次获取的风控指标值的累积值(即中间计算状
态),累积值用于下一次计算获取风控指标值。
[0115] 一种可选的实施方式,风控策略配置模块根据风控指标值以及风控指标值的阈值和权重计算当前业务数据的风险系数,包括:针对N个风控指标值,分别计算每个风控指标
值与其阈值的偏离系数,得到N个偏离系数;对N个偏离系数进行加权求和得到风险系数,其
中,每个偏离系数的权重为偏离系数对应的风控指标值在风控策略配置时设定的权重。
[0116] 一种可选的实施方式,风控策略配置模块设定风控特征中每个风控指标值的权重,包括:根据每个风控指标值对应的历史业务数据,确定每个风控指标值对应的实际风控
准确率;根据每个风控指标值的实际风控准确率确认每个风控指标值的权重,风控指标值
的实际风控准确率高,则风控指标值的权重大。
[0117] 一种可选的实施方式,风控决策模块对风险系数进行区间划分,位于不同区间风险系数对应不同的风控决策。
[0118] 本发明还涉及一种发票开具实时风控系统,如图4‑6所示,本发明实施例的一种发票开具实时风控系统,该系统包括:区块链电子发票开具系统和实时风控系统,区块链电子
发票开具系统为多个用户提供开票服务,区块链电子发票开具系统将多个用户的实时开票
数据发送至实时风控系统;实时风控系统包括:流式计算模块、风控策略执行模块和风控决
策执行模块。其中,
[0119] 流式计算模块用于接收区块链电子发票开具系统发送的实时开票数据,并根据每个用户的实时开票数据分别计算每个用户的风控指标值,形成风控指标库;风控策略执行
模块用于根据每个用户的实时开票数据分别计算得到相应用户的实时风控决策:风控决策
执行模块用于根据每个用户的实时风控决策对相应用户执行相应的决策行为;
[0120] 风控策略执行模块采用的风控方法包括:
[0121] 根据当前业务数据获取至少一个风控指标值;根据风控指标值确定至少一个风控特征,每个风控特征包括N个风控指标值,其中,N为大于等于1的整数;根据风控特征中包含
的N个风控指标值,分别确定每个风控指标值对应的子风控策略,M个子风子风控控策略组
成一个风控策略;并针对每个风控策略进行风控策略配置,风控策略配置包括:设定风控特
征中每个风控指标值的阈值和权重;根据风控指标值以及风控指标值的阈值和权重计算当
前业务数据的风险系数,并根据风险系数对当前业务数据做出风控决策。
[0122] 根据风控指标值以及风控指标值的阈值和权重计算当前业务数据的风险系数,包括:针对N个风控指标值,分别计算每个风控指标值与其阈值的偏离系数,得到N个偏离系
数;对N个偏离系数进行加权求和得到风险系数,其中,每个偏离系数的权重为偏离系数对
应的风控指标值在风控策略配置时设定的权重。
[0123] 根据当前开票数据获取至少一个风控指标值,包括:针对每个风控指标值,计算每次获取的风控指标值的累积值(即中间计算状态),累积值用于下一次计算获取风控指标
值。
[0124] 设定风控特征中每个风控指标值的阈值,包括:根据每个风控指标值对应的历史业务数据,确定历史业务数据的最值或概率值,根据最值或概率值确定阈值。设定风控特征
中每个风控指标值的权重,包括:根据每个风控指标值对应的历史业务数据,确定每个风控
指标值对应的实际风控准确率;并根据每个风控指标值的实际风控准确率确认每个风控指
标值的权重;若风控指标值的实际风控准确率高,则风控指标值的权重大。
[0125] 对风险系数进行区间划分,位于不同区间风险系数对应不同的风控决策。风控决策例如为邮件警告、拦截和永久封号等操作。
[0126] 通过该系统可以对开票事件进行风险控制,识别风险从而对用户的开票行为进行监控,避免出现虚开发票的情况。能够帮助税务系统在业务端进行前置风险判断、活动留
痕,便于追溯,也有利于税务系统进行风险导向下的税收管理,实现针对风险的税管效益最
大化。同时,能帮助用户进行风险内控,避免出现税务风险动作;并帮助纳税人建立风险管
理意识,在税务部门和服务机构帮助下对涉税风险进行事前、事中和事后的全方位管理,有
利于纳税人促进遵从、提高信用、降低涉税成本。
[0127] 本发明还涉及一种电子设备,包括服务器、终端等。该电子设备包括:至少一个处理器;与至少一个处理器通信连接的存储器;以及与存储介质通信连接的通信组件,所述通
信组件在处理器的控制下接收和发送数据;其中,存储器存储有可被至少一个处理器执行
的指令,指令被至少一个处理器执行以实现上述实施例中的方法。
[0128] 在一种可选的实施方式中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器通过运行存储在
存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处
理,即实现方法。
[0129] 存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速
随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或
其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的
存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互
联网、企业内部网、局域网、移动通信网及其组合。
[0130] 一个或者多个模块存储在存储器中,当被一个或者多个处理器执行时,执行上述任意方法实施例中的方法。
[0131] 上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
[0132] 本发明还涉及一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
[0133] 即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使
得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法
的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only 
Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程
序代码的介质。
[0134] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构
和技术,以便不模糊对本说明书的理解。
[0135] 此外,本领域普通技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明
的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之
一都可以以任意的组合方式来使用。
[0136] 本领域技术人员应理解,尽管已经参考示例性实施例描述了本发明,但是在不脱离本发明的范围的情况下,可进行各种改变并可用等同物替换其元件。另外,在不脱离本发
明的实质范围的情况下,可进行许多修改以使特定情况或材料适应本发明的教导。因此,本
发明不限于所公开的特定实施例,而是本发明将包括落入所附权利要求范围内的所有实施
例。