一种网络行为特征的快速计算方法和系统与流程

文档序号:12603364阅读:295来源:国知局
一种网络行为特征的快速计算方法和系统与流程

本发明涉及网络数据处理技术领域,特别是涉及一种网络行为特征的快速计算方法和系统。



背景技术:

风险控制系统中,为了评估风险,往往需要对用户行为特征进行统计,计算用户行为的特征指标并以此来评估风险。在进行用户行为特征统计时,通常需要计算用户网络行为某个维度在过去某个特定的时段出现的次数、关联关系、变化趋势等,比如过去5分钟某个IP(Internet Protocol,网络之间互连的协议)登录次数,过去3天某个设备ID(Device ID,设备唯一标识)关联的用户账号数等,以此来作为网络异常行为分析的重要依据。

在先的对用户网络行为的特征信息的特征指标的计算方案大致包括下述两种:

第一种,把数据存入数据库,并在需要统计的字段上加上索引,每次计算时根据查询条件在数据库中获取用户行为特征信息,统计用户行为特征指标。

第二种,把数据按不同维度聚合后,存储在NoSQL(Not only Structured Query Language,非关系型数据库)中,通过对关键值Key值的精巧设计,在每次计算时根据查询条件快速定位到对应的特征信息,并进行读取,然后统计用户行为的特征指标。

在发明人应用上述方案的过程中发现,第一种方案存在两个问题,一个是如果每个字段都要加索引,对写入性能影响较大,二是如果事件中的字段是由客户传入的,是有非常多的可能,无法在数据库建表时进行穷举,建表后新增字段代价也非常高,所以计算用户行为特征时灵活度差。即使字段是确定的,然后每次计算时根据查询条件在数据库中进行统计,在数据量比较大的情况下,性能会到秒级,无法满足实时性的要求。第二种方案也存在问题,当遇到欺诈、作弊等异常网络行为时,由于该网络行为特征的表现之一就是行为数据高度集中,数量比正常行为特征大很多,这会导致在读取数据时因为数据量过大而经常超时,如果限制数据的条数就会导致计算不准。



技术实现要素:

针对上述现有技术的缺陷,本发明要解决的技术问题是提供一种对网络行为特征计算的方法,用以灵活、快速、准确地统计各种维度的指标,满足在线实时性计算的要求。

为了解决上述问题,本发明公开了一种网络行为特征的快速计算方法,所述方法包括:

持续获取用户网络行为的特征信息;

将所述的特征信息存储在消息队列中;

将所述消息队列中距离当前时刻最近的N个最低层级的时间周期内的特征信息存入缓存;

按最低层级的时间周期定期拉取所述消息队列中的特征信息,并根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标;

按照时间层级关系对所述的各个维度的特征指标进行合并,并将合并后的各个时间层级的各个维度的特征指标存入数据库;

接收查询请求,所述查询请求包括时间窗口和至少一个维度的特征指标;

读取所述数据库中距当前时刻的N个最低层级的时间周期之前且在时间窗口内的各个时间层级的所述至少一个维度的特征指标;

读取缓存中距当前时刻N个最低层级的时间周期之内的特征信息;

基于所述缓存中的特征信息和所述从数据库中获得的各个时间层级的所述至少一个维度的特征指标,重新计算所述时间窗口内的所述至少一个维度的特征指标;

返回合并计算后的所述时间窗口内的所述至少一个维度的特征指标。

优选的,所述将所述的特征信息存储在消息队列中的步骤,包括:

将获取到的距离当前时刻最近的N个最低层级的时间周期内的特征信息,存入所述消息队列的第一主题中;

将获取到的特征信息,存入所述消息队列的第二主题中。

优选的,将所述消息队列中距离当前时刻最近的N个最低层级的时间周期内的特征信息存入缓存的步骤,包括:

将所述消息队列的第一主题中的特征信息存入缓存;

进一步的,所述按最低层级的时间周期定期拉取所述消息队列中的特征信息,并根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标的步骤,包括:

按最低层级的时间周期定期拉取所述消息队列的第二主题中的特征信息,并根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标。

优选的,所述根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标的步骤,包括:

针对所述特征信息的每一维度,将所述特征信息的同一维度的特征属性进行聚合;

将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,从而得到最低层级的时间周期内的各个维度的特征指标。

优选的,所述读取缓存中距当前时刻N个最低层级的时间周期之内的特征信息的步骤,包括:

读取缓存中距当前时刻N个最低层级的时间周期之内的所述至少一个维度的特征信息。

优选的,所述基于所述缓存中的特征信息和所述从数据库中获得的各个时间层级的所述至少一个维度的特征指标,重新计算所述时间窗口内的所述至少一个维度的特征指标的步骤,包括:

基于数据库中读取的特征指标的时间窗口,将所述读取的缓存中的特征信息进行时间过滤,剔除与数据库中读取的特征指标时间重复的特征信息;

针对所述缓存中经时间过滤后的特征信息的每一维度,将所述缓存中经时间过滤后的特征信息的同一维度的特征属性进行聚合;

将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,得到对应缓存的特征指标,所述对应缓存的特征指标包括距离当前时刻N个最低层级的时间周期之内的至少一个维度的特征指标;

将所述对应缓存的特征指标和从数据库中获得的各个时间层级的所述至少一个维度的特征指标,按照不同维度、不同时间层级进行合并,从而得到所述查询请求中所述的时间窗口内的至少一个维度的特征指标。

本发明还公开了一种网络行为特征的快速计算的系统,包括:

特征信息获取模块:用于持续获取用户网络行为的特征信息;

消息队列存储模块:用于将所述的特征信息存储在消息队列中;

特征信息缓存模块:用于将所述消息队列中距离当前时刻最近的N个最低层级的时间周期内的特征信息存入缓存;

特征指标计算第一模块:用于按最低层级的时间周期定期拉取所述消息队列中的特征信息,并根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标;

时间层级合并模块:用于按照时间层级关系对所述的各个维度的特征指标进行合并;

数据库模块:用于将合并后的各个时间层级的各个维度的特征指标存入数据库;

接收查询模块:用于接收查询请求,所述查询请求包括时间窗口和至少一个维度的特征指标;

数据库读取模块:用于读取所述数据库中距当前时刻的N个最低层级的时间周期之前且在时间窗口内的各个时间层级的所述至少一个维度的特征指标;

缓存读取模块:用于读取缓存中距当前时刻N个最低层级的时间周期之内的特征信息;

特征信息计算第二模块:用于基于所述缓存中的特征信息和所述从数据库中获得的各个时间层级的所述至少一个维度的特征指标,重新计算所述时间窗口内的所述至少一个维度的特征指标;

特征指标返回模块:用于返回合并计算后的所述时间窗口内的所述至少一个维度的特征指标。

优选的,所述消息队列存储模块包括:

消息队列存储第一子模块:用于将获取到的距离当前时刻最近的N个最低层级的时间周期内的特征信息,存入所述消息队列的第一主题中;

消息队列存储第二子模块:用于将获取到的特征信息,存入所述消息队列的第二主题中。

优选的,所述消息队列存储第一子模块包括:

第一主题的特征信息存入缓存子模块:用于将所述消息队列的第一主题中的特征信息存入缓存;

所述消息队列存储第二子模块包括:

第二主题特征信息定期拉取子模块:用于按最低层级的时间周期定期拉取所述消息队列的第二主题中的特征信息;

最低层级时间周期特征指标计算子模块:用于根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标。

优选的,所述特征指标计算第一模块包括:

同一维度的特征属性聚合子模块:用于针对所述特征信息的每一维度,将所述特征信息的同一维度的特征属性进行聚合;

预定义计算子模块:用于将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,从而得到最低层级的时间周期内的各个维度的特征指标。

相对在先技术,本发明实施例具备至少包括下述优点之一:

1、预先对用户的特征信息进行计算,将用户的特征信息定时拉取,预先生成不同时间层级的分片结果,并将这些不同时间层级的分片结果存入数据库。将距当前时刻之前最近的N个最低层级的时间周期内的特征信息存入缓存,在需要查询时直接读取缓存中的距当前时刻之前最近的N个最低层级的时间周期内的原始特征信息,并与数据库中的分片结果进行合并计算,大大降低了原始数据的数据量,将无限膨胀的数据变成定量的数据,从而满足实时性的要求。

2、在对用户特征信息进行计算时,将同一维度的特征属性进行聚合,并将聚合后的同一维度的特征属性按照预先定义的计算类型计算,从而得到各个维度的特征指标。这种方法避免了建立数据库时无法穷举索引字段的问题,大大提高了系统的灵活性。

3、将距当前时刻之前最近的N个最低层级的时间周期内的原始特征信息经过缓存来存储,在需要查询时直接读取缓存中的特征信息并与数据库中存储的分片结果进行合并计算,保证了当前的特征信息也能被计算进去,弥补了因为定时拉取数据并分片计算而导致的计算不准的问题,从而提高了计算的准确性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明网络行为特征的快速计算方法实施例一的步骤流程图;

图2为本发明网络行为特征的快速计算方法实施例二流程图;

图2A为本发明网络行为特征的快速计算方法实施例二具体逻辑框架图;

图2B为本发明网络行为特征的快速计算方法实施例二特征信息分片处理的示意图;

图2C为本发明网络行为特征的快速计算方法实施例风控系统风险评估流程框架图;

图3为本发明网络行为特征的快速计算的装置实施例框图。

具体实施方式

实施例一

参照图1,示出了本发明网络行为特征的快速计算方法的实施例一的步骤流程图,具体包括以下步骤:

步骤101,持续获取用户网络行为的特征信息。

实时对用户网络行为进行监控,一旦有用户操作,将采集上述操作的特征信息。上述操作可以为用户在网络上进行注册、登录、交易等,上述特征信息是指,当操作为注册时,特征信息会包括用户名、邮箱、手机号等,当操作为登录时,特征信息包括用户名、密码、登录IP、设备ID等。

步骤102,将所述的特征信息存储在消息队列中。

消息队列是指消息的传输过程中保存消息的容器,消息队列缓存在内存中。具体的将上述的用户的网络行为特征信息存储在内存中的消息队列中。

步骤103,将所述消息队列中距离当前时刻最近的N个最低层级的时间周期内的特征信息存入缓存。

因为发明人在本发明中设置了多个时间周期层级,所以有最低时间层级。最高时间周期层级可以指1天,最低时间周期层级可以指1分钟,这里不做限制。

缓存是指数据交换的缓冲区,当某一硬件要读数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,否则忽略。

上述的N为大于等于零的正整数,在本发明实施例中,N可以为2,本发明实施例不对其加以限制。

在本发明实施例中,所述的最低层级的时间周期可以为1分钟,本发明实施例不对其加以限制。

具体的,将消息队列中距离当前时刻最近的2分钟内的特征信息存入缓存。

步骤104,按最低层级的时间周期定期拉取所述消息队列中的特征信息,并根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标。

按定时1分钟拉取消息队列存储的特征信息,并计算1分钟内各个维度的特征指标,比如1分钟某个IP出现的次数或者某个设备ID关联的账号个数。

步骤105,按照时间层级关系对所述的各个维度的特征指标进行合并,并将合并后的各个时间层级的各个维度的特征指标存入数据库。

数据库是指按照数据结构来组织、存储和管理数据的仓库,简单来说可以视为电子化的文件柜。

具体的将1分钟某个IP出现次数合并生成1小时某个IP出现次数,将1小时某个IP出现次数合并生成1天某个IP出现次数。按照上述方法,可以合并生成1分钟某个设备ID关联的账号个数,1小时某个设备ID关联的账号个数,1天设备ID关联的账号个数……将这些合并后的指标特征存入数据库。

步骤106,接收查询请求,所述查询请求包括时间窗口和至少一个维度的特征指标。

接收查询请求,比如求最近3天某个IP的登录次数,当前时刻为2016-5-20 10:23:56,那么查询请求包括的时间窗口即为2016-5-17 10:23:56到2016-5-20 10:23:56这段时间,至少一个维度的特征指标具体是指某个IP的登录次数。

步骤107,读取所述数据库中距当前时刻的N个最低层级的时间周期之前且在时间窗口内的各个时间层级的所述至少一个维度的特征指标。

根据查询请求的时间窗口,时间窗口为2016-5-17 10:23:56到2016-5-20 10:23:56这段时间,因为我们读取的是当前时刻2分钟之前的特征指标,数据库中存储的数据是以定时每1分钟从消息队列拉取的,则从数据库中读取的时间窗口是2016-5-17 10:23:00到2016-5-20 10:22:00。其中17号、20号不是一整天,而18、19号是一整天,因为我们已经对事件进行预处理,即已经按每一分钟、每一小时、每一天分别生成相应的特征指标结果,因此可以直接取18、19号的这两天对应的2个特征指标数据,取17号13个每1小时的特征指标数据,取17号36个每1分钟的特征指标数据,取20号10个每1小时的特征指标数据,取20号22个每1分钟的特征指标数据,总共取83条某个IP登录次数的数据。

步骤108,读取缓存中距当前时刻N个最低层级的时间周期之内的特征信息。

读取2016-5-20 10:21:56到2016-5-20 10:23:56这段时间某个IP的登录信息。

步骤109,基于所述缓存中的特征信息和所述从数据库中获得的各个时间层级的所述至少一个维度的特征指标,重新计算所述时间窗口内的所述至少一个维度的特征指标。

将读取的缓存中2分钟的某个IP登录的特征信息与读取的数据库中83条某个IP登录的特征指标进行重新计算,得到2016-5-17 10:23:56到2016-5-20 10:23:56这段时间某个IP登录的特征指标。

步骤110,返回合并计算后的所述时间窗口内的所述至少一个维度的特征指标。

即将时间窗口为2016-5-17 10:23:56到2016-5-20 10:23:56这段时间某个IP出现的次数的特征指标值返给查询界面。

采用本发明的优点在于:可以指定任意的维度、任意的时间窗口对网络用户的特征指标进行灵活计算;采用预先对用户的行为特征信息进行处理,满足了在线实时计算的要求;将距离查询请求的最近时间段的特征信息存入缓存,保证了当前时刻的数据也被计算进去,并弥补了预先处理数据导致的误差,进而提高了计算的准确性。

实施例二

图2,其示出了本发明网络行为特征的快速计算方法的实施例二流程图,具体包括以下步骤:

步骤201,持续获取用户网络行为的特征信息。

本发明实施例结合图2A具体逻辑框架图进行描述。

本实施例中,对用户的网络行为进行实时采集,获取用户网络行为的特征信息。用户的网络行为的特征信息包括用户在网络上进行注册、登录、交易等操作,将用户的操作叫作一个事件,每个事件中包括本次操作相关的属性字段,比如登录事件中会包括用户名、密码、登录IP、设备ID等。结合图2A,当用户在网络上进行上述事件操作时,将实时获取上述事件。

步骤202,将获取到的距离当前时刻最近的N个最低层级的时间周期内的特征信息,存入所述消息队列的第一主题中。

上述的N为大于等于零的正整数,在本发明实施例中,N可以为2,本发明实施例不对其加以限制。

在本发明实施例中,上述的最低层级的时间周期可以为1分钟,本发明实施例不对其加以限制。

具体的,将获取到的距离当前时刻最近的2分钟的事件存入消息队列的第一主题中。

步骤203,将获取到的特征信息,存入所述消息队列的第二主题中。

将获取到当前时刻之前的所有事件存入消息队列的第二主题中。

步骤204,将所述消息队列的第一主题中的特征信息存入缓存。

结合图2A,具体的,将距离当前时刻2分钟之内的事件存入缓存。

步骤205,按最低层级的时间周期定期拉取所述消息队列的第二主题中的特征信息,并根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标。

结合图2A,对消息队列第二主题存储的事件进行定时拉取。

按定时1分钟对消息队列第二主题存储的事件进行拉取,并根据拉取的事件计算1分钟内各个维度的特征指标,比如1分钟某个IP出现的次数或者一个设备ID关联的账号个数。

优选的,步骤205中根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标的包括:

子步骤A1,针对所述特征信息的每一维度,将所述特征信息的同一维度的特征属性进行聚合。

针对从消息队列第二主题中拉取的事件的每一维度,将所述事件的同一维度的特征属性进行聚合,具体的,按定时1分钟对消息队列第二主题的事件进行拉取,将1分钟的事件流中某个IP上出现的所有数据聚合在一起,或者把一个设备ID相关联的账号聚合在一起。

子步骤A2,将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,从而得到最低层级的时间周期内的各个维度的特征指标。

针对这1分钟聚合后的数据按照预先定义的计算方式进行计算,比如求和、求平均、求关联个数、求方差等,得到1分钟某个IP出现的次数或者一个设备ID关联的账号个数。

步骤206,按照时间层级关系对所述的各个维度的特征指标进行合并,并将合并后的各个时间层级的各个维度的特征指标存入数据库。

结合图2A,按时间片对特征信息进行聚合。

本发明实施例结合图2B特征信息分片处理的示意图进行描述。由图2B可以看出,1m的分片数据为1分钟的分片数据,1h的分片数据为1小时的分片数据,1d的分片数据为1天的分片数据。

按照时间层级关系对所述的各个维度的特征指标进行合并,是指将定时1分钟的特征指标合并生成1小时的特征指标,同理将1小时的特征指标合并生成1天的特征指标,以此类推,不再赘述。

将1分钟的特征指标、合并后生成的1小时的特征指标、合并后生成的1天的特征指标存入数据库中。因为计算结果量非常大,传统的关系型数据库无法方便的线性扩展,因此优选的把各个时间层级的各个维度的特征指标存入能够线性扩展的非关系型数据库NoSQL中,方便以后增加机器支撑更多的存储量。

步骤205至206,对接收的事件进行分片计算,通过每1分钟、每1小时、每1天不同时间片的中间结果计算,大大降低原始数据的数据量,将无限膨胀的数据变成定量的数据,提升了系统的性能。

步骤207,接收查询请求,所述查询请求包括时间窗口和至少一个维度的特征指标。

上述时间窗口是指时间段。

接收查询请求,比如求最近7天某个IP的登录次数,当前时刻为2015-12-27 10:35:29,那么查询请求包括的时间窗口即为2015-12-20 10:35:29到2015-12-27 10:35:29这段时间,至少一个维度的特征指标具体是指某个IP的登录次数。

步骤208,读取所述数据库中距当前时刻的N个最低层级的时间周期之前且在时间窗口内的各个时间层级的所述至少一个维度的特征指标。

时间窗口为2015-12-20 10:35:29到2015-12-27 10:35:29这段时间,因为我们读取的是当前时刻2分钟之前的特征指标,数据库中存储的数据是以定时每1分钟从消息队列第二主题中读取的,则从数据库中读取的时间窗口是2015-12-20 10:35:00到2015-12-27 10:34:00这段时间。其中20号、27号不是一整天,而21至26号是一整天,因为我们已经对事件进行预处理,即已经按每一分钟、每一小时、每一天分别生成相应的特征指标结果,因此可以直接取21至26号的这6天对应的6个特征指标数据,取20号14个每1小时的特征指标数据,取20号25个每1分钟的特征指标数据,取27号10个每1小时的特征指标数据,取27号34个每1分钟的特征指标数据,总共取98条某个IP登录次数的数据。

步骤209,读取缓存中距当前时刻N个最低层级的时间周期之内的特征信息。

优选的,步骤209包括:

子步骤B1,读取缓存中距当前时刻N个最低层级的时间周期之内的所述至少一个维度的特征信息。

根据查询请求,读取缓存中距当前时刻2015-12-27 10:35:29两分钟内的某个IP的登录信息,具体是指读取2015-12-27 10:33:29到2015-12-27 10:35:29这段时间某个IP的登录信息。

步骤210,基于所述缓存中的特征信息和所述从数据库中获得的各个时间层级的所述至少一个维度的特征指标,重新计算所述时间窗口内的所述至少一个维度的特征指标。

结合图2A,读取缓存和分片数据,进行特征计算。

优选的,步骤210包括:

子步骤C1,基于数据库中读取的特征指标的时间窗口,将所述读取的缓存中的特征信息进行时间过滤,剔除与数据库中读取的特征指标时间重复的特征信息。

数据库中特征指标读取的时间窗口是2015-12-20 10:35:00到2015-12-27 10:34:00,缓存中特征信息读取的时间窗口是2015-12-27 10:33:29到2015-12-27 10:35:29,基于数据库中特征指标读取的时间窗口对读取的缓存中的特征信息进行时间过滤,剔除与数据库中读取的特征指标时间重复的特征信息,即剔除缓存中2015-12-27 10:33:29到2015-12-27 10:33:59这段时间的特征信息,只对缓存中2015-12-27 10:34:00到2015-12-27 10:35:29这段时间的特征信息进行处理。

子步骤C2,针对所述缓存中经时间过滤后的特征信息的每一维度,将所述缓存中经时间过滤后的特征信息的同一维度的特征属性进行聚合。

将缓存中2015-12-27 10:34:00到2015-12-27 10:35:29这段时间某个IP登录信息进行聚合。

子步骤C3,将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,得到对应缓存的特征指标,所述对应缓存的特征指标包括距离当前时刻N个最低层级的时间周期之内的至少一个维度的特征指标。

将聚合后的2015-12-27 10:34:00到2015-12-27 10:35:29这段时间某个IP登录次数按照预先定义的计算方式进行计算,比如求和、求平均、求关联个数、求方差等,得到2015-12-27 10:34:00到2015-12-27 10:35:29这段时间某个IP登录次数的特征指标。

子步骤C4,将所述对应缓存的特征指标和从数据库中获得的各个时间层级的所述至少一个维度的特征指标,按照不同维度、不同时间层级进行合并,从而得到所述查询请求中所述的时间窗口内的至少一个维度的特征指标。

数据库中读取的时间窗口2015-12-20 10:35:00到2015-12-27 10:34:00的某个IP的特征指标与缓存中读取的时间窗口2015-12-27 10:34:00到2015-12-27 10:35:29的某个IP的特征指标,按照预先定义的计算类型进行再次计算,即将数据库读取的98条数据与2015-12-27 10:34:00到2015-12-27 10:35:29这段时间中某IP出现的次数合并计算,得到上述查询请求时间窗口为2015-12-20 10:35:29到2015-12-27 10:35:29这段时间某个IP出现的次数。

在上述的整个系统中,所述的预先定义的计算方式对于同一个维度的特征指标是相同的,即步骤210中对某个IP登录特征指标计算的方式与步骤205对某个IP登录特征指标计算的方式是相同的。

步骤211,返回合并计算后的所述时间窗口内的所述至少一个维度的特征指标。

结合图2A,将特征指标返回给查询界面。

即将时间窗口为2015-12-20 10:35:29到2015-12-27 10:35:29这段时间某个IP出现的次数的特征指标值返给查询界面。

将特征信息存入到消息队列的两个不同主题,方便对特征信息数据做不同的处理。

采用分片计算,通过每1分钟、每1小时、每1天不同时间片的中间结果计算,大大降低原始数据的数据量,将无限膨胀的数据变成定量的数据,这对提升性能有极大的好处。

将最近2分钟的数据通过缓存来存储,弥补分片计算延迟导致的计算不准的问题。

当接收查询请求时,直接读取分片数据和近2分钟的原始做二次合并计算的算法,保证当前事件也能被计算进去,从而进一步提升计算的准确性。

优选的,参照图2C,以下将以风险控制系统为应用场景,来对本发明的实施例二进行更进一步的举例说明。

风险控制系统主要根据计算网络用户行为特征指标的结果来评估风险的。比如,正常情况下,一个IP上面对应一个用户,一个用户一天可能登录几次甚至更少,但如果遇到暴力破解或撞库的情况时,欺诈者用写程序的方法使大量账号进行登录,此时我们需要通过计算同一个IP上出现的登录次数来检测是否存在风险。在实施例二的基础上,本方案包括如下步骤:

结合图2C,当有事件进入后,风险控制系统接收事件,对事件进行预处理,比如调用其它系统进行数据补全、IP地理位置的解析等。执行业务规则是指对执行某一业务时,需要调用特征指标判断该业务系统是否存在风险。

步骤212,将步骤211返回的特征指标值运用到业务的判断逻辑中。

利用本发明的方法计算该业务所需的特征指标,并将该业务的特征指标运用到业务的判断逻辑中。

步骤213,判断所述特征指标是否超过风险阈值,若是,则此业务为一个风险事件。

参照图2B,比如缓存中某IP出现了2次,1分钟的分片中出现的分别是{1,0,2,5…12},1小时的分片中出现的分别是{18,29,11,5…},1天的分片出现的分别是{39,81…102},那么把这些次数相加,得到某IP出现的次数,比如1201次。

比如最近7天同一个IP登录超过100次认为是一个风险事件。则某IP7天的登录次数1201次大于阈值100,那么某IP登录次数就为一个风险事件。

步骤214,将多个业务的风险判断结果按照不同的策略进行合并,生成最终的风险结果。

比如一个风险控制系统有甲乙丙丁四个业务,将四个业务的风险判断结果根据业务规则进行合并,得到最终的风险结果,可以为有风险或无风险,也可能是表示风险大小的分值。

通过本发明计算网络行为特征,大大降低了超时的比例,这一点在风控领域有举足轻重的作用,因为业务系统对风控系统很多情况下是强依赖,比如判别是否有盗号的风险,在用户输入用户名和密码后需要先经过风控系统的判断才能决定是否登陆成功或者需要做二次验证等,如果不能在百毫秒内返回,会极大影响用户的体验,从而干扰到正常的业务。

通过本发明计算网络行为特征,能够保证计算的准确性,比如在信贷领域计算多平台借款,需要准确识别到底有几个平台,如果不能准确计算出结果,将影响客户业务的判断,从而造成重大损失。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图3,示出了根据本发明网络行为特征的快速计算的装置实施例的结构框图,具体可以包括如下模块:

特征信息获取模块301,用于持续获取用户网络行为的特征信息。

消息队列存储模块302,用于将所述的特征信息存储在消息队列中。

优选的,所述的消息队列存储模块302包括:

消息队列存储第一子模块,用于将获取到的距离当前时刻最近的N个最低层级的时间周期内的特征信息,存入所述消息队列的第一主题中。

优选的,所述消息队列存储第一子模块包括:

第一主题的特征信息存入缓存子模块,用于将所述消息队列的第一主题中的特征信息存入缓存。

消息队列存储第二子模块,用于将获取到的特征信息,存入所述消息队列的第二主题中。

优选的,所述消息队列存储第二子模块包括:

第二主题特征信息定期拉取子模块,用于按最低层级的时间周期定期拉取所述消息队列的第二主题中的特征信息。

最低层级时间周期特征指标计算子模块,用于根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标。

特征信息缓存模块303,用于将所述消息队列中距离当前时刻最近的N个最低层级的时间周期内的特征信息存入缓存。

特征指标计算第一模块304,用于按最低层级的时间周期定期拉取所述消息队列中的特征信息,并根据所述特征信息计算最低层级的时间周期内的各个维度的特征指标。

优选的,所述特征指标计算第一模块304包括:

同一维度的特征属性聚合子模块,用于针对所述特征信息的每一维度,将所述特征信息的同一维度的特征属性进行聚合。

预定义计算子模块,用于将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,从而得到最低层级的时间周期内的各个维度的特征指标。

时间层级合并模块305,用于按照时间层级关系对所述的各个维度的特征指标进行合并。

数据库模块306,用于将合并后的各个时间层级的各个维度的特征指标存入数据库。

接收查询模块307,用于接收查询请求,所述查询请求包括时间窗口和至少一个维度的特征指标。

数据库读取模块308,用于读取所述数据库中距当前时刻的N个最低层级的时间周期之前且在时间窗口内的各个时间层级的所述至少一个维度的特征指标。

缓存读取模块309,用于读取缓存中距当前时刻N个最低层级的时间周期之内的特征信息。

优选的,所述缓存读取模块309包括:

读取缓存中至少一个维度的特征信息子模块,用于读取缓存中距当前时刻N个最低层级的时间周期之内的所述至少一个维度的特征信息。

特征信息计算第二模块310,用于基于所述缓存中的特征信息和所述从数据库中获得的各个时间层级的所述至少一个维度的特征指标,重新计算所述时间窗口内的所述至少一个维度的特征指标。

优选的,所述特征信息计算第二模块310包括:

时间过滤子模块,用于基于数据库中读取的特征指标的时间窗口,将所述读取的缓存中的特征信息进行时间过滤,剔除与数据库中读取的特征指标时间重复的特征信息。

同一维度的特征属性聚合子模块,用于针对所述缓存中经时间过滤后的特征信息的每一维度,将所述缓存中经时间过滤后的特征信息的同一维度的特征属性进行聚合。

预定义计算子模块,用于将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,得到对应缓存的特征指标,所述对应缓存的特征指标包括距离当前时刻N个最低层级的时间周期之内的至少一个维度的特征指标。

特征指标合并子模块,用于将所述对应缓存的特征指标和从数据库中获得的各个时间层级的所述至少一个维度的特征指标,按照不同维度、不同时间层级进行合并,从而得到所述查询请求中所述的时间窗口内的至少一个维度的特征指标。

特征指标返回模块311,用于返回合并计算后的所述时间窗口内的所述至少一个维度的特征指标。

本发明实施例具备至少包括下述优点之一:

1、预先对用户的特征信息进行计算,将用户的特征信息定时拉取,预先生成不同时间层级的分片结果,并将这些不同时间层级的分片结果存入数据库。将距当前时刻之前最近的N个最低层级的时间周期内的特征信息存入缓存,在需要查询时直接读取缓存中的距当前时刻之前最近的N个最低层级的时间周期内的原始特征信息,并与数据库中的分片结果进行合并计算,大大降低了原始数据的数据量,将无限膨胀的数据变成定量的数据,从而满足实时性的要求。

2、在对用户特征信息进行计算时,将同一维度的特征属性进行聚合,并将聚合后的同一维度的特征属性按照预先定义的计算类型计算,从而得到各个维度的特征指标。这种方法避免了建立数据库时无法穷举索引字段的问题,大大提高了系统的灵活性。

3、将距当前时刻之前最近的N个最低层级的时间周期内的原始特征信息经过缓存来存储,在需要查询时直接读取缓存中的特征信息并与数据库中存储的分片结果进行合并计算,保证了当前的特征信息也能被计算进去,弥补了因为定时拉取数据并分片计算而导致的计算不准的问题,从而提高了计算的准确性。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网络行为特征的快速计算方法设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1