首页> 中国专利> 一种网络行为特征的差量计算方法和系统

一种网络行为特征的差量计算方法和系统

摘要

本发明提供了一种网络行为特征的差量计算方法,涉及网络数据处理技术领域。该方法包括:持续获取用户网络行为的特征信息;将距当前时刻最近的一个时间周期内的特征信息存入第一数据库;定时一个时间周期拉取特征信息并按不同维度聚合计算,将结果与上一个时间周期节点的统计值进行累加,得到当前时间周期节点的统计值并存入第二数据库;接收查询请求后,根据时间窗口读取第二数据库中的两个时间周期节点的统计值并相减得到差量,将差量与读取的第一数据库的特征信息进行合并,得到所要查询的特征指标。采用此方法不仅可以灵活、快速、准确地统计各种维度的指标,而且几乎可以满足高量并发场景的在线实时计算的要求。

著录项

  • 公开/公告号CN106598823A

    专利类型发明专利

  • 公开/公告日2017-04-26

    原文格式PDF

  • 申请/专利权人 同盾科技有限公司;

    申请/专利号CN201610910820.3

  • 发明设计人 方强;王桥石;陈昌龙;张新波;

    申请日2016-10-19

  • 分类号G06F11/34(20060101);G06F17/30(20060101);H04L29/08(20060101);

  • 代理机构11319 北京润泽恒知识产权代理有限公司;

  • 代理人苏培华

  • 地址 311100 浙江省杭州市余杭区文一西路998号海创园18栋205

  • 入库时间 2023-06-19 02:00:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-25

    授权

    授权

  • 2018-06-12

    专利申请权的转移 IPC(主分类):G06F11/34 登记生效日:20180524 变更前: 变更后: 申请日:20161019

    专利申请权、专利权的转移

  • 2017-05-24

    实质审查的生效 IPC(主分类):G06F11/34 申请日:20161019

    实质审查的生效

  • 2017-04-26

    公开

    公开

说明书

技术领域

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

背景技术

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

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

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

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

第三种,把数据按照分钟、小时、天时间片进行聚合存入数据库,在每次计算时根据查询条件在数据库中获取用户行为特征信息,统计用户行为特征指标。

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

发明内容

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

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

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

将距离当前时刻最近的一个时间周期内的所述的特征信息存入第一数据库;

按一个时间周期定期拉取所述的特征信息,并根据所述特征信息计算一个时间周期内的各个维度的特征指标;

针对不同维度,将当前时间周期内计算获得的特征指标与上一个时间周期节点的特征指标统计值进行累加,得到当前时间周期节点的各个维度的特征指标统计值,并将所述当前时间周期节点的各个维度的特征指标统计值存入第二数据库;

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

读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的特征信息;

读取第二数据库中距当前时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值;

读取第二数据库中所述时间窗口的起始时刻临近的一个时间周期节点的所述的至少一个维度的特征指标统计值;

针对不同维度,将读取的第二数据库的两个时间周期节点的特征指标统计值进行相减,从而得到第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量;

基于所述第一数据库中读取的特征信息和所述第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,重新计算所述时间窗口内的所述至少一个维度的特征指标;

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

优选的,所述持续获取用户网络行为的特征信息的步骤之后还包括:

将所述特征信息存入消息队列中;

进一步,所述将距离当前时刻最近的一个时间周期内的所述的特征信息存入第一数据库的步骤包括:

将所述消息队列中距离当前时刻最近的一个时间周期内的特征信息存入第一数据库;

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

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

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

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

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

优选的,所述读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的特征信息的步骤包括:

读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的所述的至少一个维度的特征信息。

优选的,所述读取第二数据库中所述时间窗口的起始时刻临近的一个时间周期节点的所述的至少一个维度的特征指标统计值的步骤包括:

在信贷场景下,读取第二数据库中所述时间窗口的起始时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值;

在面向客户服务场景下,读取第二数据库中所述时间窗口的起始时刻最近的下一个时间周期节点的所述的至少一个维度的特征指标统计值。

优选的,所述基于所述第一数据库中读取的特征信息和所述第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,重新计算所述时间窗口内的所述至少一个维度的特征指标的步骤包括:

针对不同维度,将所述第一数据库中读取的特征信息的同一维度的特征属性进行聚合;

将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,得到对应第一数据库的特征指标,所述对应第一数据库的特征指标包括距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的至少一个维度的特征指标;

将所述对应第一数据库的特征指标和第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,按照不同维度进行合并,从而得到所述查询请求中所述的时间窗口内的至少一个维度的特征指标。

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

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

第一数据库存储模块:用于将距离当前时刻最近的一个时间周期内的所述的特征信息存入第一数据库;

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

特征指标统计值计算模块:用于针对不同维度,将当前时间周期内计算获得的特征指标与上一个时间周期节点的特征指标统计值进行累加,得到当前时间周期节点的各个维度的特征指标统计值,并将所述当前时间周期节点的各个维度的特征指标统计值存入第二数据库;

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

特征信息读取模块:用于读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的特征信息;

特征指标统计值第一读取模块:用于读取第二数据库中距当前时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值;

特征指标统计值第二读取模块:用于读取第二数据库中所述时间窗口的起始时刻临近的一个时间周期节点的所述的至少一个维度的特征指标统计值;

差量计算模块:用于针对不同维度,将读取的第二数据库的两个时间周期节点的特征指标统计值进行相减,从而得到第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量;

特征指标第二计算模块:用于基于所述第一数据库中读取的特征信息和所述第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,重新计算所述时间窗口内的所述至少一个维度的特征指标;

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

优选的,所述系统还包括:

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

进一步,所述第一数据库存储模块包括:

消息队列特征信息获取第一子模块:用于将所述消息队列中距离当前时刻最近的一个时间周期内的特征信息存入第一数据库;

进一步,所述特征指标第一计算模块包括:

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

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

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

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

优选的,所述特征信息读取模块包括:

至少一个维度的特征信息读取子模块:用于读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的所述的至少一个维度的特征信息。

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

1、预先对用户的特征信息进行计算,当接受查询请求时,不论回溯窗口多长,针对同一维度只需读取三个数据即可快速计算出网络行为的特征指标。大大降低了原始数据的数据量,将无限膨胀的数据变成定量的数据,从而满足在线实时计算的要求。

2、当预设的一个时间周期非常小时,则每次获取的数据量也会相应小,因此可以在短时间内处理大量的并发请求,满足高量并发场景的计算要求。

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

4、将距当前时刻之前最近的一个时间周期内的特征信息存入第一数据库,在需要查询时直接读取第一数据库中的特征信息并与读取的第二数据库中的两个时间周期节点的特征指标的差量进行合并计算,保证了当前的特征信息也能被计算进去,弥补了因为定时拉取数据并合并计算而导致的计算不准的问题,从而提高了计算的准确性。

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

附图说明

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

图1示出了根据本发明网络行为特征的差量计算方法实施例一的流程图;

图1A示出了特征指标统计值计算过程的示意图;

图2示出了根据本发明网络行为特征的差量计算方法实施例二的流程图;

图2A示出了实施例二的逻辑框架图;

图2B示出了风控系统风险评估的流程框架图;

图3示出了根据本发明网络行为特征的差量计算系统实施例一的结构框图;

图4示出了根据本发明网络行为特征的差量计算系统实施例二的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

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

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

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

步骤102:将距离当前时刻最近的一个时间周期内的所述的特征信息存入第一数据库。

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

实时将获取的用户网络行为的特征信息保存到第一数据库中,上述第一数据库只能保存当前时刻最近的一个时间周期内的特征信息,比如预设一个时间周期为10秒,则第一数据中只保存当前时刻之前10秒内的特征信息。

步骤103:按一个时间周期定期拉取所述的特征信息,并根据所述特征信息计算一个时间周期内的各个维度的特征指标。

比如预设一个时间周期为10秒,本发明实施例定时10秒拉取上述获取的用户网络行为的特征信息,并计算10秒内各个维度的特征指标,比如10秒内某个IP登录的次数或者某个设备ID关联的账号个数。

步骤104:针对不同维度,将当前时间周期内计算获得的特征指标与上一个时间周期节点的特征指标统计值进行累加,得到当前时间周期节点的各个维度的特征指标统计值,并将所述当前时间周期节点的各个维度的特征指标统计值存入第二数据库。

当前时间周期节点的特征指标统计值等于当前时间周期内计算获得的特征指标与上一个时间周期节点的特征指标统计值的累加结果。

上一个时间周期节点的特征指标统计值等于上一个时间周期内计算获得的特征指标与上一时间周期之前的上一周期节点的特征指标统计值的累加结果。

如图1A,起始时刻为2015-12-27 10:10:00,时间周期2015-12-27 10:10:00到2015-12-27 10:10:10这段时间某个IP登录了2次,即上述时间周期的某个IP的特征指标为2,则某个IP在时间周期节点2015-12-27 10:10:10的特征指标统计值为2。时间周期2015-12-27 10:10:10到2015-12-27 10:10:20这段时间某个IP登录了1次,即上述时间周期的某个IP的特征指标为1,则某个IP在时间周期节点2015-12-27 10:10:20的特征指标统计值为3。时间周期2015-12-27 10:10:20到2015-12-27 10:10:30这段时间某个IP登录了4次,即上述时间周期的某个IP的特征指标为4,则某个IP在时间周期节点2015-12-27 10:10:30的特征指标统计值为7。以上述方法进行累加计算,得到某个IP在时间周期节点2015-12-27 11:10:10的特征指标统计值为30。

将上述获得的各个时间周期节点的各个维度的特征指标统计值存入第二数据库。

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

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

步骤106:读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的特征信息。

当前时刻为2015-12-27 11:10:15,预设一个时间周期为10秒,则距当前时刻最近的上一个时间周期节点为2015-12-27 11:10:10。

读取第一数据库中时间节点2015-12-27 11:10:10与时间节点2015-12-27 11:10:15之间5秒内的特征信息。假设2015-12-27 11:10:10到2015-12-27 11:10:15这5秒内某IP登录次数为1次。

步骤107:读取第二数据库中距当前时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值。

当前时刻为2015-12-27 11:10:15,预设一个时间周期为10秒,则距当前时刻最近的上一个时间周期节点为2015-12-27 11:10:10。

则读取第二数据库中时间周期节点2015-12-27 11:10:10的某IP登录次数的特征指标统计值,如图1A所示,某IP登录次数在时间周期节点2015-12-27 11:10:10的特征指标统计值为30。

步骤108:读取第二数据库中所述时间窗口的起始时刻临近的一个时间周期节点的所述的至少一个维度的特征指标统计值。

时间窗口的起始时刻为2015-12-27 10:10:15,则与起始时刻临近的时间周期节点为2015-12-27 10:10:10和2015-12-27 10:10:20。

在本发明实施例中,由于最陈旧的数据对系统决策的影响较小,即时效性不强,因此在进行网络行为特征计算时可以忽略该误差。

根据业务需求选取时间窗口起始时刻的上一个时间周期节点还是下一个时间周期节点的特征指标统计值。

比如根据业务需求,本发明实施例选取的时间周期节点为2015-12-27 10:10:10的特征指标统计值,如图1A所示,某IP登录次数在时间周期节点2015-12-27 10:10:10的特征指标统计值为2。

步骤109:针对不同维度,将读取的第二数据库的两个时间周期节点的特征指标统计值进行相减,从而得到第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量。

将步骤107与步骤108读取的特征指标统计值进行相减得到第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量。

将某个IP登录次数在时间周期节点2015-12-27 11:10:10的特征指标统计值与在时间周期节点2015-12-27 10:10:10的特征指标统计值进行相减,得到差量,即30-2=28。

步骤110:基于所述第一数据库中读取的特征信息和所述第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,重新计算所述时间窗口内的所述至少一个维度的特征指标。

将步骤106读取的第一数据库中特征信息与步骤109获得的差量进行重新计算,得到时间窗口内所要查询的特征指标。

当2015-12-27 11:10:10到2015-12-27 11:10:15这5秒内某个IP登录次数为1次,时间周期节点2015-12-27 11:10:10的特征指标统计值与在时间周期节点2015-12-27 10:10:10的特征指标统计值的差量为28,则得到的某个IP的登录次数在2015-12-27 10:10:15到2015-12-27 11:10:15这段时间的特征指标统计值为29。

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

将时间窗口为2015-12-27 10:10:15到2015-12-27 11:10:15这段时间内某个IP的登录次数的特征指标值返给查询界面。

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

1、预先对用户的特征信息进行计算,当接受查询请求时,不论回溯窗口多长,针对同一维度只需读取三个数据即可快速计算出网络行为的特征指标。大大降低了原始数据的数据量,将无限膨胀的数据变成定量的数据,从而满足在线实时计算的要求。

2、当预设的一个时间周期非常小时,则每次获取的数据量也会相应小,因此可以在短时间内处理大量的并发请求,满足高量并发场景的计算要求。

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

4、将距当前时刻之前最近的一个时间周期内的特征信息存入第一数据库,在需要查询时直接读取第一数据库中的特征信息并与读取的第二数据库中的两个时间周期节点的特征指标的差量进行合并计算,保证了当前的特征信息也能被计算进去,弥补了因为定时拉取数据并合并计算而导致的计算不准的问题,从而提高了计算的准确性。

实施例二

参照图2,示出了根据本发明网络行为特征的差量计算方法实施例二的流程图,具体可以包括如下步骤:

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

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

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

步骤202:将所述特征信息存入消息队列中。

消息队列是指消息在传输过程中保存消息的容器,具体的将上述实时获取的事件存入MQ(Message Queue,消息队列)中。

步骤203:将所述消息队列中距离当前时刻最近的一个时间周期内的特征信息存入第一数据库。

实时将消息队列中的事件保存到第一数据库中,上述第一数据库只能保存当前时刻最近的一个时间周期内的特征信息,若预设一个时间周期为10秒,则第一数据中只保存当前时刻之前10秒内的特征信息。

例如,本发明实施例的当前时刻为2016-5-20 10:10:15,预设一个时间周期为10秒,则第一数据库中存储的是2016-5-20 10:10:05到2016-5-2010:10:15这10秒的事件。

为了方便以后增加机器支撑更多的存储量,本发明实施例优选能够线性扩展的非关系型数据库NoSQL对获取的特征信息进行存储。

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

预设一个时间周期为10秒,则本发明实施例定时10秒拉取上述消息队列中的特征信息,并计算10秒内各个维度的特征指标,比如计算10秒内某个IP登录的次数或者某个设备ID关联的账号个数。

优选的,步骤204包括:

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

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

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

针对这10秒聚合后的数据按照预先定义的计算方式进行计算,比如求和、求平均、求关联个数、求方差等,得到10秒内某个IP登录的次数或者一个设备ID关联的账号个数。本发明实施例对预先定义的计算方式不加以限制。

步骤205:针对不同维度,将当前时间周期内计算获得的特征指标与上一个时间周期节点的特征指标统计值进行累加,得到当前时间周期节点的各个维度的特征指标统计值,并将所述当前时间周期节点的各个维度的特征指标统计值存入第二数据库。

上一个时间周期节点的特征指标统计值等于上一个时间周期内计算获得的特征指标与上一个时间周期之前的上一个周期节点的特征指标统计值的累加结果,比如针对某个IP登录的次数,上一个时间周期之前的上一个时间周期节点的特征指标统计值为9,上一个时间周期内计算获得的特征指标为4,则上一个时间周期节点的特征指标统计值为9加4,即13。

比如针对某个IP登录的次数,当前时间周期内计算获得的特征指标为2,则当前时间周期节点的特征指标统计值为13加2,即15,并将当前时间周期节点的特征指标统计值15存入第二数据库中。

上述第二数据库存入的数据为各个时间周期节点的各个维度的特征指标统计值。

因为计算结果量非常大,传统的关系型数据库无法方便的线性扩展,因此优选的把各个时间周期节点的各个维度的特征指标统计值存入能够线性扩展的非关系型数据库NoSQL中,方便以后增加机器支撑更多的存储量。

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

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

步骤207:读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的所述的至少一个维度的特征信息。

当前时刻为2016-5-20 10:10:15,预设一个时间周期为10秒,则距当前时刻最近的上一个时间周期节点为2016-5-20 10:10:10。

读取第一数据库中时间周期节点2016-5-20 10:10:10与当前时刻2016-5-20 10:10:15之间5秒内某个IP的登录次数的特征信息。

步骤208:读取第二数据库中距当前时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值。

当前时刻为2016-5-20 10:10:15,预设一个时间周期为10秒,则距当前时刻最近的上一个时间周期节点为2016-5-20 10:10:10。

读取第二数据库中时间周期节点2016-5-20 10:10:10的某个IP的登录次数特征指标统计值。

步骤209:读取第二数据库中所述时间窗口的起始时刻临近的一个时间周期节点的所述的至少一个维度的特征指标统计值。

时间窗口的起始时刻为2016-5-17 10:10:15,则与起始时刻临近的时间周期节点为2016-5-17 10:10:10和2016-5-17 10:10:20。

在本发明实施例中,当时间窗口的起始时刻处于两个时间周期节点之间,则不论取时间窗口的起始时刻的上一个时间周期节点还是下一个时间周期节点的特征指标统计值都会造成一定的误差,由于最陈旧的数据对系统决策的影响较小,即时效性不强,因此在进行网络行为特征计算时该误差可以忽略。

本发明实施例根据业务需求选取时间窗口的起始时刻的上一个时间周期节点还是下一个时间周期节点的特征指标统计值。

优选的,步骤209包括:

子步骤B1:在信贷场景下,读取第二数据库中所述时间窗口的起始时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值。

在信贷场景下,为了尽可能将所有的风险规避,宁可多取,也不能漏取,因此需要取时间窗口的起始时刻的上一个时间周期节点的特征指标统计值,即时间周期节点为2016-5-17 10:10:10的特征指标统计值。

子步骤B2:在面向客户服务场景下,读取第二数据库中所述时间窗口的起始时刻最近的下一个时间周期节点的所述的至少一个维度的特征指标统计值。

在面向客户服务的场景下,例如为了识别恶意账户并对其行为权限进行限制,宁可漏取,也不能多取,多取可能会将疑似正常账号进行行为限制,导致客户抱怨,因此需要取时间窗口的起始时刻的下一个时间周期节点的特征指标统计值,即时间周期节点为2016-5-17 10:10:20的特征指标统计值。

步骤210:针对不同维度,将读取的第二数据库的两个时间周期节点的特征指标统计值进行相减,从而得到第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量。

将步骤208与步骤209读取的特征指标统计值进行相减得到第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量。

例如,在信贷场景下,将第二数据库中时间周期节点2016-5-20 10:10:10特征指标统计值与第二数据库中时间周期节点2016-5-17 10:10:10的特征指标统计值进行相减,得到第二数据库的两个时间周期节点的差量。

在面向客户服务的场景下,将第二数据库中时间周期节点2016-5-20 10:10:10特征指标统计值与第二数据库中时间周期节点2016-5-17 10:10:20的特征指标统计值进行相减,得到第二数据库的两个时间周期节点的差量。

步骤211:基于所述第一数据库中读取的特征信息和所述第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,重新计算所述时间窗口内的所述至少一个维度的特征指标。

将步骤207读取的第一数据库中特征信息与步骤210获得的差量进行重新计算,得到时间窗口内所要查询的特征指标,比如2016-5-17 10:10:15到2016-5-20 10:10:15这段时间内某个IP的登录次数。

优选的,步骤211包括:

子步骤C1:针对不同维度,将所述第一数据库中读取的特征信息的同一维度的特征属性进行聚合。

将第一数据库中时间周期节点2016-5-20 10:10:10与时间周期节点2016-5-20 10:10:15之间这5秒内的某一个IP的登录次数进行聚合。

子步骤C2:将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,得到对应第一数据库的特征指标,所述对应第一数据库的特征指标包括距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的至少一个维度的特征指标。

将聚合后的2016-5-20 10:10:10到2016-5-20 10:10:15之间这5秒内的某一个IP的登录次数按照预先定义的计算方式进行计算,比如求和、求平均、求关联个数、求方差等,得到2016-5-20 10:10:10到2016-5-20 10:10:15之间这5秒内的某一个IP的登录次数的特征指标。

子步骤C3:将所述对应第一数据库的特征指标和第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,按照不同维度进行合并,从而得到所述查询请求中所述的时间窗口内的至少一个维度的特征指标。

将步骤210获得的差量与子步骤C2获得的对应第一数据库的特征指标进行合并计算,得到上述查询请求时间窗口为2016-5-17 10:10:15到2016-5-20 10:10:15这段时间某个IP登录的次数。

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

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

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

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

1、预先对用户的特征信息进行计算,当接受查询请求时,不论回溯窗口多长,针对同一维度只需读取三个数据即可快速计算出网络行为的特征指标。大大降低了原始数据的数据量,将无限膨胀的数据变成定量的数据,从而满足在线实时计算的要求。

2、当预设的一个时间周期非常小时,则每次获取的数据量也会相应小,因此可以在短时间内处理大量的并发请求,满足高量并发场景的计算要求。

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

4、将距当前时刻之前最近的一个时间周期内的特征信息存入第一数据库,在需要查询时直接读取第一数据库中的特征信息并与读取的第二数据库中的两个时间周期节点的特征指标的差量进行合并计算,保证了当前的特征信息也能被计算进去,弥补了因为定时拉取数据并合并计算而导致的计算不准的问题,从而提高了计算的准确性。

5、将实时获取的用户网络行为特征信息存储在消息队列中,使应用程序可以对获取的特征信息进行独立的执行,方便对数据进行不同的处理,提高了计算的灵活性。

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

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

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

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

利用本发明实施例的方法计算该业务所需的特征指标,并将该业务的特征指标运用到风险控制系统业务的判断逻辑中。

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

比如最近3天同一个IP登录超过100次认为是一个风险事件。若步骤212计算出的某个IP登录的次数为300次大于阈值100次,那么某IP登录次数就为一个风险事件。

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

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

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

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

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

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

特征信息获取模块301、第一数据库存储模块302、特征指标第一计算模块303、特征指标统计值计算模块304、接收查询模块305、特征信息读取模块306、特征指标统计值第一读取模块307、特征指标统计值第二读取模块308、差量计算模块309、特征指标第二计算模块310、特征指标返回模块311。

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

第一数据库存储模块302:用于将距离当前时刻最近的一个时间周期内的所述的特征信息存入第一数据库。

特征指标第一计算模块303:用于按一个时间周期定期拉取所述的特征信息,并根据所述特征信息计算一个时间周期内的各个维度的特征指标。

特征指标统计值计算模块304:用于针对不同维度,将当前时间周期内计算获得的特征指标与上一个时间周期节点的特征指标统计值进行累加,得到当前时间周期节点的各个维度的特征指标统计值,并将所述当前时间周期节点的各个维度的特征指标统计值存入第二数据库。

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

特征信息读取模块306:用于读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的特征信息。

特征指标统计值第一读取模块307:用于读取第二数据库中距当前时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值。

特征指标统计值第二读取模块308:用于读取第二数据库中所述时间窗口的起始时刻临近的一个时间周期节点的所述的至少一个维度的特征指标统计值。

差量计算模块309:用于针对不同维度,将读取的第二数据库的两个时间周期节点的特征指标统计值进行相减,从而得到第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量。

特征指标第二计算模块310:用于基于所述第一数据库中读取的特征信息和所述第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,重新计算所述时间窗口内的所述至少一个维度的特征指标。

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

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

1、预先对用户的特征信息进行计算,当接受查询请求时,不论回溯窗口多长,针对同一维度只需读取三个数据即可快速计算出网络行为的特征指标。大大降低了原始数据的数据量,将无限膨胀的数据变成定量的数据,从而满足在线实时计算的要求。

2、当预设的一个时间周期非常小时,则每次获取的数据量也会相应小,因此可以在短时间内处理大量的并发请求,满足高量并发场景的计算要求。

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

4、将距当前时刻之前最近的一个时间周期内的特征信息存入第一数据库,在需要查询时直接读取第一数据库中的特征信息并与读取的第二数据库中的两个时间周期节点的特征指标的差量进行合并计算,保证了当前的特征信息也能被计算进去,弥补了因为定时拉取数据并合并计算而导致的计算不准的问题,从而提高了计算的准确性。

参照图4,示出了根据本发明网络行为特征的差量计算系统实施例二的结构框图,具体可以包括如下模块:

特征信息获取模块401、消息队列存储模块402、第一数据库存储模块403、特征指标第一计算模块404、特征指标统计值计算模块405、接收查询模块406、特征信息读取模块407、特征指标统计值第一读取模块408、特征指标统计值第二读取模块409、差量计算模块410、特征指标第二计算模块411、特征指标返回模块412。

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

消息队列存储模块402:用于将所述特征信息存入消息队列中。

第一数据库存储模块403:用于将距离当前时刻最近的一个时间周期内的所述的特征信息存入第一数据库。

第一数据库存储模块403包括:

消息队列特征信息获取第一子模块4031:用于将所述消息队列中距离当前时刻最近的一个时间周期内的特征信息存入第一数据库。

特征指标第一计算模块404:用于按一个时间周期定期拉取所述的特征信息,并根据所述特征信息计算一个时间周期内的各个维度的特征指标。

特征指标第一计算模块404包括:

消息队列特征信息获取第二子模块4041:用于按一个时间周期定期拉取所述消息队列中的特征信息,并根据所述特征信息计算一个时间周期内的各个维度的特征指标。

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

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

特征指标统计值计算模块405:用于针对不同维度,将当前时间周期内计算获得的特征指标与上一个时间周期节点的特征指标统计值进行累加,得到当前时间周期节点的各个维度的特征指标统计值,并将所述当前时间周期节点的各个维度的特征指标统计值存入第二数据库。

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

特征信息读取模块407:用于读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的特征信息。

优选的,特征信息读取模块407包括:

至少一个维度的特征信息读取子模块4071:用于读取第一数据库中距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的所述的至少一个维度的特征信息。

特征指标统计值第一读取模块408:用于读取第二数据库中距当前时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值。

特征指标统计值第二读取模块409:用于读取第二数据库中所述时间窗口的起始时刻临近的一个时间周期节点的所述的至少一个维度的特征指标统计值。

优选的,特征指标统计值第二读取模块409包括:

信贷场景第一读取子模块4091:用于在信贷场景下,读取第二数据库中所述时间窗口的起始时刻最近的上一个时间周期节点的所述的至少一个维度的特征指标统计值。

面向客户服务场景第二读取子模块4092:用于在面向客户服务场景下,读取第二数据库中所述时间窗口的起始时刻最近的下一个时间周期节点的所述的至少一个维度的特征指标统计值。

差量计算模块410:用于针对不同维度,将读取的第二数据库的两个时间周期节点的特征指标统计值进行相减,从而得到第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量。

特征指标第二计算模块411:用于基于所述第一数据库中读取的特征信息和所述第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,重新计算所述时间窗口内的所述至少一个维度的特征指标。

优选的,特征指标第二计算模块411包括:

同一维度特征信息第二聚合子模块4111:用于针对不同维度,将所述第一数据库中读取的特征信息的同一维度的特征属性进行聚合。

预定义计算第二子模块4112:用于将所述聚合后的同一维度的特征属性按照预先定义的计算类型计算,得到对应第一数据库的特征指标,所述对应第一数据库的特征指标包括距当前时刻最近的上一个时间周期节点与当前时刻的时间间隔内的至少一个维度的特征指标。

特征指标合并模块4113:用于将所述对应第一数据库的特征指标和第二数据库的两个时间周期节点的所述的至少一个维度的特征指标统计值的差量,按照不同维度进行合并,从而得到所述查询请求中所述的时间窗口内的至少一个维度的特征指标。

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

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

1、预先对用户的特征信息进行计算,当接受查询请求时,不论回溯窗口多长,针对同一维度只需读取三个数据即可快速计算出网络行为的特征指标。大大降低了原始数据的数据量,将无限膨胀的数据变成定量的数据,从而满足在线实时计算的要求。

2、当预设的一个时间周期非常小时,则每次获取的数据量也会相应小,因此可以在短时间内处理大量的并发请求,满足高量并发场景的计算要求。

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

4、将距当前时刻之前最近的一个时间周期内的特征信息存入第一数据库,在需要查询时直接读取第一数据库中的特征信息并与读取的第二数据库中的两个时间周期节点的特征指标的差量进行合并计算,保证了当前的特征信息也能被计算进去,弥补了因为定时拉取数据并合并计算而导致的计算不准的问题,从而提高了计算的准确性。

5、将实时获取的用户网络行为特征信息存储在消息队列中,使应用程序可以对获取的特征信息进行独立的执行,方便对数据进行不同的处理,提高了计算的灵活性。

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

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

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

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

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

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

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号