数据处理方法、数据发送方法、风险识别方法及设备
技术领域
本申请涉及互联网信息处理技术领域,特别涉及一种数据处理方法、数据发送方法、风险识别方法及设备。
背景技术
在互联网环境下,基于用户在客户端的业务数据来进行数据分析,已被应用于诸多场景中,一种常见的应用场景为“风险识别”。上述业务数据可以包括:用户浏览某页面的时间点、浏览某页面的持续时长、用户的历史支付的总金额等。
在现有技术中,客户端采集用户在使用客户端的过程中产生的业务数据,并将这些业务数据发送给后端服务器;后端服务器根据采集到的业务数据进行风险识别。在风险识别的场景中,可以将这些业务数据(包括为适应模型的要求对业务数据处理得到的处理后的业务数据)作为风险识别模型的输入,以此实现风险识别。
然而,在实际应用中,客户端将业务数据发送到后端服务端以实现风险识别面临一个最大的挑战,即业务数据的传输问题。由于不同的客户端需要将采集到的业务数据发送给后端服务器,如果这些业务数据需要全部实时传输,导致后端服务端接收到的数据量级非常大,这可能会导致后端服务端不能在所要求的时间内得到风险识别的结果。
发明内容
有鉴于此,本申请实施例提供了一种数据处理方法、数据发送方法、风险识别方法及设备,用于解决现有技术中存在得到由于客户端发送大量业务数据导致服务端风险识别的处理时长增长的问题。
本申请实施例提供了一种数据处理方法,该方法应用于客户端,包括:
采集用户执行当前操作行为产生的业务数据,并确定所述当前操作行为对应的预设变量;
获取所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果;
根据所述第一结果和所述业务数据中包含的所述当前操作行为对应的所述预设变量的第一特征值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果。
本申请实施例提供了一种数据发送方法,该方法应用于客户端,包括:
采集用户执行当前操作行为产生的业务数据;
确定所述当前操作行为中包含的至少一个预设变量对应的累计结果,所述累计结果是用户在所述终端设备上执行的当前操作行为中包含的至少一个预设变量对象的,通过上述的数据处理方法得到;
将所述累计结果发送给服务器。
本申请实施例提供了一种风险识别方法,该方法应用于服务器,包括:
接收终端设备发送的累计结果,所述累计结果是用户在所述终端设备上执行的当前操作行为中包含的至少一个预设变量对象的,通过上述的数据处理方法得到;
根据所述累计结果,对所述用户的操作行为进行风险识别。
本申请实施例提供了一种风险识别方法,该方法应用于客户端,包括:
采集用户执行当前操作行为产生的业务数据;
确定所述当前操作行为中包含的至少一个预设变量对应的累计结果;
根据所述累计结果,对所述用户的操作行为进行风险识别。
本申请实施例提供了一种数据处理设备,该数据处理设备应用于客户端,包括:
采集单元,采集用户执行当前操作行为产生的业务数据,并确定所述当前操作行为对应的预设变量;
获取单元,获取所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果;
处理单元,根据所述第一结果和所述业务数据中包含的所述当前操作行为对应的所述预设变量的第一特征值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果。
本申请实施例提供了一种数据发送设备,该设备应用于客户端,包括:
采集单元,采集用户执行当前操作行为产生的业务数据;
确定单元,确定所述当前操作行为产生的业务数据包含的至少一个预设变量对应的累计结果,所述累计结果是用户在所述终端设备上执行的当前操作行为中包含的至少一个预设变量对象的,通过上述的数据处理设备得到;
发送单元,将所述累计结果发送给服务器。
本申请实施例提供了一种风险识别设备,该设备应用于服务器,包括:
接收单元,接收终端设备发送的累计结果,所述累计结果是用户在所述终端设备上执行的当前操作行为中包含的至少一个预设变量对象的,通过上述的数据处理设备得到;
识别单元,根据所述累计结果,对所述用户的操作行为进行风险识别。
本申请实施例提供了一种风险识别设备,该设备应用于客户端,包括:
采集单元,采集用户执行当前操作行为产生的业务数据;
确定单元,确定所述当前操作行为中包含的至少一个预设变量对应的累计结果;
识别单元,根据所述累计结果,对所述用户的操作行为进行风险识别。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例通过客户端采集用户执行当前操作行为产生的业务数据,并确定所述当前操作行为对应的预设变量;获取所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果;根据所述第一结果和所述业务数据中包含的所述当前操作行为对应的所述预设变量的第一特征值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果。可以看出,客户端在采集到业务数据时针对预设变量触发一次计算操作,本次计算操作是以相邻前一次计算操作得到的该预设变量的累计结果为基础,再次计算得到该预设变量的新的累计结果,这样针对客户端采集的到的业务数据,在客户端进行累计处理,使得后续发送给后端服务器的数据量减少,从而有效避免由于客户端发送大量业务数据导致服务端风险识别的处理时长增长的问题,有效解决现有技术中的数据传输问题,同时也降低了客户端的存储开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据处理方法的流程图;
图2为客户端显示的页面的一种示例图;
图3为本申请实施例提供的一种数据发送方法的流程图;
图4为本申请实施例提供的一种风险识别方法的流程图;
图5为本申请实施例提供的一种风险识别方法的流程图;
图6为本申请实施例提供的一种风险识别方法的场景示意图;
图7为本申请实施例提供的一种数据处理设备的结构示意图;
图8为本申请实施例提供的一种数据发送设备的结构示意图;
图9为本申请实施例提供的一种风险识别设备的结构示意图;
图10为本申请实施例提供的一种风险识别设备的结构示意图;
图11为本申请实施例提供的一种风险识别系统的结构示意图;
图12为本申请实施例提供的一种数据处理设备的结构示意图。
具体实施方式
鉴于背景技术中提到的技术问题,本申请实施例提供一种数据处理方法、数据发送、风险识别方法及设备,客户端在采集到业务数据时针对预设变量触发一次计算操作,本次计算操作是以相邻前一次计算操作得到的该预设变量的累计结果为基础,再次计算得到该预设变量的新的累计结果,这样针对客户端采集的到的业务数据,在客户端进行累计处理,使得后续发送给后端服务器的数据量减少,从而有效避免由于客户端发送大量业务数据导致服务端风险识别的处理时长增长的问题,有效解决现有技术中的数据传输问题,同时也降低了客户端的存储开销。
下面结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
图1为本申请实施例提供的一种数据处理方法的流程图。该数据处理方法的执行主体可以是客户端,本文以客户端为执行主体为例来介绍该技术方案。所述数据处理方法,包括如下步骤:
S101:采集用户执行当前操作行为产生的业务数据。
由于用户在使用客户端执行操作行为时将产生业务数据,操作行为不同所产生的业务数据的数据内容也不同。在业务数据产生时,可以实时存储于客户端的存储单元中;也可以实时启动本申请实施例中所记载的数据处理方法,将处理后得到的数据存储至存储单元中;还可以对于存储在客户端的存储单元中的业务数据启动本申请实施例中所记载的数据处理方法,这里不做具体限定。
在本申请实施例中,用户在使用客户端执行操作行为,这些操作行为可以为用户对网页触发的浏览行为、用户对客户端中的控件触发的点击行为、用户针对不同业务发起的业务处理行为等等。
然而,用户在使用客户端执行操作行为时将产生相应的业务数据,例如:
若操作行为为用户对网页触发的浏览行为,那么产生的相应的业务数据为:用户浏览页面的地址信息、用户触发浏览行为的时间、用户在该页面上停留的时间长度等等;
若操作行为为用户针对不同业务发起的业务处理行为(这里以发起支付行为为例进行说明),那么产生的相应的业务数据为:支付行为对应的目标对象(例如:商家名称)、支付行为发生时间、本次支付行为对应的支付金额等等。
需要进一步说明的是,本申请实施例中所记载的客户端可以是指硬件实体,例如:台式计算机、膝上型计算机、平板计算机、智能手机、手持式计算机、个人数字助理(“PDA”),等等;也可以是指软件实体,如各种应用(Application,APP)。那么本申请实施例中所记载的用户的操作行为可以是用户针对客户端执行的各种操作行为,例如:用户通过浏览器客户端发起的访问网页的操作行为等。
本申请实施例中,可以通过安装于客户端上的应用中配置的JavaScript或者其他语言来采集用户的业务数据。
S102:确定所述当前操作行为对应的预设变量。
在本申请实施例中,针对用户的不同操作行为所采集到的业务数据不同。那么在采集到业务数据时,需要对业务数据进行解析,进一步确定业务数据中包含的执行主体、客体、所产生的时间等等,同时确定该业务数据中所包含的预设变量。
为了能够充分利用到客户端所采集到的业务数据,可以根据采集到的业务数据,计算得到能够反映用户的操作行为的规律的预设变量的特征值。其中,上述预设变量也可以称为:VELOCITY变量。
需要说明的是,针对不同操作行为,可以预先确定针对该操作行为的预设变量,例如:若所述操作行为为针对同一页面的浏览行为,则所述预设变量包括用户针对同一页面进行浏览行为所消耗时长、用户针对同一页面进行浏览行为的次数中的至少一种或者多种;若所述操作行为为支付行为,则所述预设变量包括用户的支付行为的支付金额。
那么在采集到业务数据时,首先,分析该业务数据对应的操作行为;其次,确定该操作行为对应的预设变量;最后,提取业务数据中包含的预设变量的特征值。
例如:若所述操作行为为针对同一页面的浏览行为,那么提取用户针对同一页面进行浏览行为所消耗时长的特征值为5s;若所述操作行为为支付行为,那么提取用户的支付行为的支付金额的特征值为50元。
S103:获取所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果。
在本申请实施例中,当在S102确定当前操作行为对应的预设变量时,查找所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果。即可以从存储单元中查找该用户在执行相邻前一次同样操作行为后所述预设变量对应的第一结果。
这里以对同一页面执行浏览操作为例进行说明。
假设用户A在XX时间对页面a执行浏览操作,产生的业务数据为:XX时间、用户A、浏览页面a、所消耗的时间长度为5s(这里将这条业务数据称之为第一条业务数据)。
那么在采集到第一条业务数据时,查找之前是否存在相同的操作行为,若之前不存在相同的操作行为,那么在存储单元中记录用户A浏览行为,所消耗的时间长度为5s(消耗的时间长度变量对应的累计特征值为5s)。
用户A在YY时间对页面a执行浏览操作,产生的业务数据为:YY时间、用户A、浏览页面a、所消耗的时间长度为3s(这里将这条业务数据称之为第二条业务数据)。
那么在采集到第二条业务数据时,查找到之前记录的第一条业务数据,那么根据第一条业务数据即可得到步骤S103中所记载的所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果,即消耗的时间长度变量对应的累计特征值(即第一结果)为5s。
S104:根据所述第一结果和所述业务数据中包含的所述当前操作行为对应的所述预设变量的第一特征值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果。
具体地,确定所述用户在执行相邻前一次操作行为时发生的第一时间信息和所述用户执行当前操作行为时发生的第二时间信息,并根据所述第一时间信息和所述第二时间信息,确定所述预设变量的衰减值;
根据所述第一结果、所述第一特征值和所述衰减值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果。
具体地,计算所述第一结果与所述衰减值的积值;
将所述积值与所述第一特征值进行求和,得到的和值为所述当前操作行为后所述预设变量对应的第二结果。
需要说明的是,本申请实施例中所记载的衰减值可以通过衰减函数计算得到,即在确定所述用户在执行相邻前一次操作行为时发生的第一时间信息和所述用户执行当前操作行为时发生的第二时间信息时,利用衰减函数计算得到所述预设变量的衰减值。也就是说,在进行每一累计计算时,所使用的衰减值可能相同也可能不同。
可选地,通过以下方法计算得到所述当前操作行为后所述预设变量对应的第二结果:
F(tn)=F(tn-1)*decay(tn,tn-1)+f(tn);
其中,F(tn)为第n次操作行为后所述预设变量对应的累计结果,F(tn-1)第n-1次操作行为后所述预设变量的累计结果,tn为第n次操作行为发生时的时间信息,tn-1为第n-1次操作行为发生时的时间信息,decay(tn,tn-1)为第n-1次操作行为后所述预设变量对应的累计结果的衰减系数,f(tn)为第n次操作行为对应的所述预设变量的结果。
在本申请实施例中,对于采集到的每一个业务数据,客户端可以采用预设算法,计算得到采集到的业务数据中包含的预设变量对应的累计结果,也就是说,在每采集到用户执行操作行为产生的业务数据时,按照步骤S101~S102中记载的方式确定当前操作行为对应的预设变量,进而根据步骤S103~S104中记载的方式计算得到当前操作行为后所述预设变量对应的累计结果。
这里所记载的预设变量的累计结果是通过迭代方式计算得到的,即以用户执行首次(或者某一次)操作行为为起点,在之后每一次执行操作行为时都将触发上述实施例中记载的方式进行处理,使得随着客户端采集到的业务数据的不断更新,该预设变量的累计结果也相应地不断变化。上述客户端可以通过轻量级的计算,便可实现上述预设变量的累计结果的计算过程。
下面以支付行为为例,以5天时间窗口为限,计算支付金额的累计结果。
假设衰减函数为pow(e,-(tn-tn-1))/(k*432000),其中,tn为当前支付行为发生时间(单位以秒计算),tn为相邻前一次支付行为发生时间。
表1为不同时间计算得到的累计结果的示意表。
表1
需要说明的是,表1中所使用的累计算法为:Fn=Fn-1*pow(e,-(tn-tn-1))/(k*432000)+Tn。
其中,Fn-1为第一结果,k为衰减窗口系数,可以通过调整k来优化近似计算导致的误差;Tn为第一特征值。
需要说明的是,k也可以为常系数,也可以形如f(tn,tn-1,Fn-1)的经过优化学习后的函数,这里不再详细描述。
参照图2所示,为客户端上显示的页面的一种示例图。一般地,客户端10上安装的客户端应用可以包括多个页面,并且用户可以在多个页面之间进行切换。例如,用户基于该客户端应用的第一页面11,进行相应的点击操作,便可以由该第一页面11跳转到第二页面12。本申请具体实施例中,根据实际的业务需要,为便于分析用户的操作行为的规律,需要将产生的业务数据按照用户访问(或浏览)的页面的不同进行归类,以分析得到用户针对同一个页面的操作行为的规律。在这样的前提下,若将当前采集到的业务数据(当前待计算的业务数据)对应的操作行为定义为:“当前操作行为”,将在该“当前操作行为”之前发生的相邻前一个操作行为定义为:“前一操作行为”。一般地,上述“当前操作行为”与上述“前一操作行为”可以是针对同一页面的浏览行为,如:上述“前一操作行为”是针对第一页面11的浏览行为,该浏览行为发生的时刻是:03点01分,该浏览行为的持续时长是5秒;上述“当前操作行为”是针对第一页面11的浏览行为,该浏览行为发生的时刻是:03点01分30秒,该浏览行为的持续时长是3秒。当然,在本申请其他实施例中,若上述预设变量是针对屏幕上的指定区域的触发时长,则上述“当前操作行为”和“前一操作行为”可以是针对屏幕上的该指定区域的触摸行为。此外,在另外一些实施例中,上述当前采集到的业务数据对应的操作行为与该用户的前一操作行为可以是支付行为。
本申请实施例中,上述步骤S103的计算过程可以用如下计算公式来表达:
F(tn)=F(tn-1)×decay(tn,tn-1)+f(tn);
其中,F(tn)表示计算得到与“当前操作行为”对应的预设变量的累计结果(即本文所述第二结果),F(tn-1)表示计算得到与“前一操作行为”对应的预设变量的累计结果(即本文所述的第一结果),decay(tn,tn-1)表示衰减函数,其中,衰减函数的输入值(自变量)可以是“前一操作行为”发生的时刻和“当前操作行为”发生的时刻之间的间隔时长:(tn-tn-1)。f(tn)代表与“当前操作行为”对应的增量值,其中,若预设变量是衰减时长(decay sum),则该f(tn)等于“当前操作行为”的持续时长,若预设变量是衰减次数(decay count),则该f(tn)等于1。
在本申请具体实施例中,根据实际业务的需要,上述预设算法的输出值与所述间隔时长(tn-tn-1)负相关。也就是说,上述间隔时长越长,衰减函数的输出值(因变量)越小。该衰减函数可以包括但不限于:指数函数(Exp)、对数函数(log)、三角函数(1/tan(x+PI/4))、移动窗口型、多项式型等。需要说明的是,上述衰减函数还可以被定义为:g((tn-tn-1)/W),其中,tn为“当前操作行为”发生的时刻,tn-1为“前一操作行为”发生的时刻,W为统计窗口系数。当tn=tn-1时,该衰减函数的值为1;当tn>tn-1时,该衰减函数的值<1;当tn-t n-1趋近于正无穷时,该衰减函数的值趋近于0。
继续以具体示例来说明上述计算过程。假设客户端采集得到的与用户的操作行为对应的业务数据包括:
针对第一页面11的浏览行为(“前一操作行为”),该浏览行为发生的时刻是:03点01分,该浏览行为的持续时长是5秒;
针对第一页面11的浏览行为(“当前操作行为”),该浏览行为发生的时刻是:03点01分30秒,该浏览行为的持续时长是3秒。
假设此时需要计算的预设变量是:用户针对同一页面进行浏览行为的衰减时长(decay sum)。则对于“前一操作行为”,假设衰减函数的输出值=0.3,计算得到的衰减时长decay sum=F(tn-1)×0.3+5;其中,F(tn-1)是指在03点01分之前存储的预设变量的值,其中,若在上述“前一操作行为”之前,用户没有运行过该客户端上的客户端应用,则可以对该预设变量的值进行初始化,即计算得到的decay sum=0*0.3+5=5,此时将当前计算得到的decay sum=5进行存储。接着,对于上述“当前操作行为”,假设衰减函数的输出值=0.5,则计算得到的衰减时长decay sum=当前存储的decay sum的值*衰减函数的输出值+“当前操作行为”的持续时长=5*0.5+3=5.5。按照上述原理,在后续使用过程中,每当用户针对上述第一页面11进行一次浏览行为之后,客户端便可以采集得到与浏览行为对应的业务数据,并按照上述计算公式进行衰减时长decay sum的累计计算。
继续举例而言,假设此时需要计算的预设变量是:用户针对同一页面进行浏览行为的衰减次数(decay count)。则对于“前一操作行为”,假设衰减函数的输出值=0.3,计算得到的衰减次数decay count=F(tn-1)×0.3+1;其中,F(tn-1)是指在03点01分之前存储的预设变量的值,其中,若在上述“前一操作行为”之前,用户没有运行过该客户端上的客户端应用,则可以对该预设变量的值进行初始化,即计算得到的decay count=0*0.3+1=1,此时将当前计算得到的decay count=1进行存储。接着,对于上述“当前操作行为”,假设衰减函数的输出值=0.9,则计算得到的衰减次数decay count=当前存储的decay count的值*衰减函数的输出值+1=1*0.9+1=1.9。按照上述原理,在后续使用过程中,每当用户针对上述第一页面11进行一次浏览行为之后,客户端便可以采集得到与浏览行为对应的业务数据,并按照上述计算公式进行衰减次数decay count的累计计算。
需要说明的是,本文所述及的“前一操作行为”和后一用户操作是针对同一页面的相邻的两次操作行为(如浏览行为)。若在03点01分发生的针对第一页面11的浏览行为之前,还在03点发生了另一针对该第一页面11的浏览行为,则可以将上述03点发生的浏览行为称为“前一操作行为”,将上述03点01分发生的浏览行为称为“当前操作行为”。
值得一提的是,若针对同一页面进行浏览的“前一操作行为”和“当前操作行为”相隔时间大于设定数值,则导致上述衰减函数的输出值接近于0,则最终计算得到的衰减时长decay sum≈“当前操作行为”的浏览时长,计算得到的衰减次数decay count≈1。
另外,本申请实施例对采用上述预设算法计算预设变量的值的时机不作限定。在某些实施例中,客户端可以将采集到与多个用户的操作行为对应的业务数据存储于本地,并定期或不定期地调用上述预设算法并依据本地存储的业务数据,来计算上述预设变量的值并存储到本地,在计算得到预设变量的值之后,则可以将使用过的业务数据从本地删除。在其他实施例中,客户端可以在每采集到与一个用户的操作行为对应的业务数据之后,便调用上述预设算法计算得到预设变量的值并存储。需要说明的是,客户端在根据最新采集得到的业务数据,计算得到与之对应的预设变量的值之后,便可以将之前存储的预设变量的值删除,并将最新计算得到的预设变量的值存储到本地。
需要说明的是,在本申请实施例中,所述方法在计算得到与“当前操作行为”对应的预设变量的第二结果之后,还包括如下步骤:
将第一结果进行删除。
也就是说,客户端在根据采集到的与“当前操作行为”对应业务数据,计算得到预设变量的累计结果并存储到本地之后,可以将在此之前存储到本地的与“前一操作行为”对应的预设变量的累计结果予以删除。这样,客户端通过轻量级的存储方式即可实现对计算得到的预设变量的值的存储过程。
值得提及的是,本申请提供的预设算法并不局限于上述已列举的算法,还包括其他类型的用以求解某时间窗口内发生的业务数据的统计特性的算法。
例如,与上述预设算法对应的计算公式除了求和(sum)之外,即通过求和的方式计算得到所述当前操作行为后所述预设变量对应的第二结果:
F(tn)=F(tn-1)*decay(tn,tn-1)+f(tn)。
还可以例如是:求最大值(max),即通过求最大值的方式计算得到所述当前操作行为后所述预设变量对应的第二结果:
F(tn)=Max{F(tn-1)*decay(tn,tn-1),f(tn)}。
还可以例如是:计算非重复结果的数目(distinct count),即通过计算非重复结果的数目的方式计算得到所述当前操作行为后所述预设变量对应的第二结果:
F(tn)=F(tn-1)*Decay(tn,tn-1)+1-decay(tn-E(tlast));其中,E(tlast)为最近一次执行操作行为的时间。
还可以例如是:求均值(average),即通过求平均值的方式计算得到所述当前操作行为后所述预设变量对应的第二结果:
F(tn)=average{F(tn-1)*Decay(tn,tn-1),f(tn)}。
还可以是其他计算方式,这里不再一一列举。
总之,在本申请各实施例中,最终计算得到的预设变量的值可以与采集到的所有业务数据相关,从而可以反映用户的操作行为的规律。其中,若某用户在短时间内频繁地对某一页面进行浏览行为,则会导致计算得到的上述衰减时长decay sum的值或衰减次数decay count的值达到一个较大的数值;相反,若某用户不经常或频率较低地对某一页面进行浏览行为,则会导致计算得到的上述衰减时长decay sum的值或衰减次数decay count的值达到一个较小的数值。基于上述情况,可以反映出用户的操作行为的规律。
对于不同的使用者而言,由于各自的操作习惯、对应用的偏好等因素的不同,在使用客户端的过程中所产生的业务数据的规律通常会存在一定的差异性。所以,风控系统(或称“风险识别系统”)将用户的业务数据作为依据,通过分析使用者在客户端的业务数据,得到使用者在客户端上的用户的操作行为的规律,进而识别客户端的当前使用者的身份的可靠性。
本申请实施例提供的上述数据处理方法中,可以看出,客户端在采集到业务数据时针对预设变量触发一次计算操作,本次计算操作是以相邻前一次计算操作得到的该预设变量的累计结果为基础,再次计算得到该预设变量的新的累计结果,这样针对客户端采集的到的业务数据,在客户端进行累计处理,使得后续发送给后端服务器的数据量减少,从而有效避免由于客户端发送大量业务数据导致服务端风险识别的处理时长增长的问题,有效解决现有技术中的数据传输问题,同时也降低了客户端的存储开销。
实施例2
目前,还存在这样一种现有技术:由客户端来采集用户在使用客户端的过程中产生的业务数据,并将采集到的业务数据传输至服务器端,随后,由服务器端根据客户端发送的业务数据计算得到某种变量的值,并将计算得到的变量的值作为风险识别模型的输入,进行风险识别。在上述现有技术中,由于用户的业务数据是随着用户在客户端的操作行为而产生的,一般客户端所采集到的业务数据的数据量会不断增大。因此,将客户端采集到的大量业务数据发送至服务器端,势必会给网络传输资源造成较大的消耗。本申请针对上述问题,还提出一种数据发送方法,以解决现有技术中存在的将客户端采集到的大量业务数据传输至服务器端,给网络传输资源造成较大的消耗的问题。
图3为本申请实施例提供的一种数据发送方法的流程示意图。所述数据发送方法的执行主体可以是上述客户端或安装于上述客户端上的客户端应用,该方法包括如下步骤:
S301:采集用户执行当前操作行为产生的业务数据。
S302:确定所述当前操作行为中包含的至少一个预设变量对应的累计结果。
在本申请实施例中,假设操作行为中包含的预设变量个数大于1个,那么针对当前操作行为中包含的每一个预设变量,按照上述实施例1中所记载的方式分别计算得到每一个预设变量对应的累计结果。
这里对于一个预设变量的累计结果的计算方式不再详细描述。
S303:将所述累计结果发送给服务器。
本申请实施例可以根据预先配置的触发机制来确定何时向服务器端发送预设变量的累计结果。例如,可以不断地计算得到预设变量的累计结果并存储到本地,并根据预先设定的数据发送时刻,在数据发送时刻到来时,客户端获取当前存储的所述预设变量的累计结果并向服务器端发送。抑或,可以设定在客户端上发生某种指定的操作事件时,触发将预设变量的累计结果进行发送的动作。如:响应于用户触发的支付事件,客户端获取当前存储的所述预设变量的累计结果,并将获取到的预设变量的累计结果和上述支付事件的交易数据一并发送至向服务器端。此后,服务器端便可以根据接收到的预设变量的累计结果,对本次支付事件的风险性进行评估。
目前,解决数据传输问题的方案还包括如下两种:
1)在需要使用用户的业务数据时,客户端将部分业务数据传输到服务器端,从而降低数据传输过程的网络资源消耗。
2)在不需要实时使用客户端的业务数据时,可以将客户端采集到的业务数据异步沉淀到数据库中,以便于后续分析。
与上述两种解决方案相比,本申请实施例提供的技术方案可以达到如下效果:
本申请的方案中,服务器端接收到的预设变量的值是根据客户端采集到的所有业务数据计算得到的,也就是说,服务器端可以利用到客户端采集到的全量的业务数据,而上述方案1)虽然可以降低数据传输过程的网络资源消耗,但只是对部分业务数据加以利用。另外,上述方案2)中,当服务器端需要利用业务数据时,则需要从数据库中提取预先沉淀到该数据库中的业务数据,这一过程需要消耗一定的时间,实时性不佳。相较于该方案2),本申请的方案的实时性更佳,主要表现在如下两个方面:①客户端向服务器端传输的是计算得到的预设变量的值,这使得数据传输过程会在较短的时间内便完成;②服务器端将客户端发送的预设变量的值作为风险识别模型的输入,即可及时利用到客户端产生的全量的业务数据,而避免了服务器端根据业务数据计算预设变量的值的过程。
实施例3
基于同一个发明构思,上述预设变量的累计结果可以应用于风险识别的场景中。图4为本申请实施例提供的一种风险识别方法的流程示意图。本申请实施例的执行主体为服务器。所述风险识别方式包括如下步骤:
S401:接收终端设备发送的累计结果。
所述累计结果是用户在所述终端设备上执行的当前操作行为中包含的至少一个预设变量对象的,通过实施例1中所述的数据处理方法得到。
如上所述,该预设变量可以例如是:用户针对同一页面进行浏览行为的衰减时长(decay sum),或用户针对同一页面进行浏览行为的衰减次数(decay count),或用户针对同一页面进行浏览行为的平均时长。
S402:根据所述累计结果,对所述用户的操作行为进行风险识别。
服务器端将接收到的预设变量的值作为预设的风险识别模型的输入,进行风险识别。其中,该风险识别模型可以根据当前得到的预设变量的值,来识别当前客户端的操作者的身份的可靠性,并计算得到相应的风险分值,最终依据计算得到的风险分值,来进行相应的处罚策略。
基于上述数据发送方法,本申请实施例通过客户端来采集用户的业务数据,并且通过客户端来计算与采集到的业务数据对应的预设变量的累计结果,最终由客户端向服务器端发送计算得到的所述预设变量的累计结果。相较于现有技术,本申请实施例在采集到用户的业务数据之后,并不是直接向服务器端发送所采集到的业务数据,而是通过客户端根据采集到的所述业务数据,来计算得到能够反映用户的操作行为的规律的预设变量的累计结果,并将计算得到的预设变量的累计结果发送到服务器端进行利用。显然,本申请通过计算得到的预设变量的值,能够在充分利用到客户端采集到的大量业务数据的前提下,有效地降低对网络传输资源的消耗。
此外,基于上述风险识别方法,也可以在降低对网络传输资源的消耗的同时,充分利用到客户端采集到的大量业务数据,提高风险识别的准确性。
与现有技术相比,该风险识别方法还可以达到如下技术效果:
服务器端只需将客户端发送的预设变量的累计结果作为预设风险识别模型的输入,便可实现风险识别,可以避免现有技术在接收到大量业务数据之后,还需根据业务数据计算VELOCITY变量的过程,从而使得风险识别过程的实时性更佳,并且可以降低对服务器端的计算资源的消耗。
上述客户端上安装的应用APP可以例如是第三方支付应用APP。
值得说明的是,本文所披露的技术方案并不限定于风险识别的应用场景中,可实现的其他应用场景例如是:根据上述预设变量的值进行模型建设,或根据上述预设变量的值进行用户的分群,等等。
综上所述,本申请实施例所公开的方法,使得客户端(客户端)针对上述预设变量的值的轻量级的计算及储存成为可能。并且,由于客户端(客户端)计算得到的预设变量的值是轻量级的数据,使得客户端(客户端)将数据传输到服务器端成为可能。进而,使得服务器端根据来自于客户端(客户端)的数据,来进行风险识别(风险评估)成为可能。
实施例4
基于同一个发明构思,图5为本申请实施例提供的一种风险识别方法的流程示意图。本申请实施例的执行主体为客户端。所述方法可以如下所示。
S501:采集用户执行当前操作行为产生的业务数据。
S502:确定所述当前操作行为中包含的至少一个预设变量对应的累计结果。
具体地,确定所述当前操作行为对应的至少一个预设变量;
获取所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果;
根据所述第一结果和所述业务数据中包含的所述当前操作行为对应的所述预设变量的第一特征值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果;
将所述第二结果确定为所述当前操作行为中包含的所述预设变量对应的累计结果。
具体实现方式可以参见实施例1中所记载的详细内容,这里不再详细描述。
S503:根据所述累计结果,对所述用户的操作行为进行风险识别。
具体地,将所述累计结果输入风险模型;并根据所述风险模型的输出结果,对所述用户的操作行为进行风险识别。
与上一实施例中的风险识别方法的区别在于,本实施例无需将计算得到的预设变量的累计结果发送到服务器端,而利用客户端本地存储的风险识别模型进行风险识别。例如,本实施例可以通过在客户端(客户端)预先部署相应的风险识别规则,并利用计算得到的预设变量的值和风险识别规则来进行风险防控。
需要说明的是,在现有的客户端风控产品(在客户端侧进行风险识别)中,一般是将每一条数据的明细进行预先存储,并在需要计算时,利用预先存储的若干数据来进行累计计算。该现有技术存在如下问题:对每一条数据进行存储,势必给客户端造成较大的存储开销,另外,在进行计算时,需要读取之前预先存储的大量数据并进行计算,该过程中需要耗费较大的数据读取和计算开销。在本申请实施例提供的技术方案中,通过衰减函数迭代计算的方式,无需将每条数据进行存储,使得客户端的存储开销、计算开销不随数据量级发生变化,将极大地增强客户端的存储、传输、计算能力,使得客户端风控得以实现。
值得提及的是,因在客户端实现风控处理会比较敏感,可以对客户端的处理逻辑进行代码混淆保护。例如,可以使用加壳、代码虚拟化、沙箱等代码保护技术进行保护。
图6为本申请实施例提供的一种风险识别方法的场景示意图。
从图6中可以看出,在客户端本地采集业务数据,对采集到的业务数据进行累计处理,并通过消息总线发送至风险处理模型,对用户的操作行为进行风险评估。
实施例5
图7为本申请实施例提供的一种数据处理设备的结构示意图。该数据处理设备应用于客户端,所述数据处理设备包括:采集单元71、获取单元72和处理单元73,其中:
采集单元71,采集用户执行当前操作行为产生的业务数据,并确定所述当前操作行为对应的预设变量;
获取单元72,获取所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果;
处理单元73,根据所述第一结果和所述业务数据中包含的所述当前操作行为对应的所述预设变量的第一特征值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果。
在本申请的另一个实施例中,所述处理单元73根据所述第一结果和所述业务数据中包含的所述当前操作行为对应的所述预设变量的第一特征值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果,包括:
针对所述预设变量,确定所述用户在执行相邻前一次操作行为时所述预设变量对应的第二特征值,并根据所述第一特征值和所述第二特征值,确定所述预设变量的衰减值;
根据所述第一结果、所述第一特征值和所述衰减值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果。
在本申请的另一个实施例中,所述处理单元73根据所述第一结果、所述第一特征值和所述衰减值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果,包括:
计算所述第一结果与所述衰减值的积值;
将所述积值与所述第一特征值进行求和,得到的和值为所述当前操作行为后所述预设变量对应的第二结果。
在本申请的另一个实施例中,若所述操作行为为针对同一页面的浏览行为,则所述预设变量包括用户针对同一页面进行浏览行为所消耗时长、用户针对同一页面进行浏览行为的次数中的至少一种或者多种。
在本申请的另一个实施例中,若所述操作行为为支付行为,则所述预设变量包括用户的支付行为的支付金额。
实施例6
图8为本申请实施例提供的一种数据发送设备的结构示意图。该数据发送设备应用于客户端,包括:采集单元81、确定单元82和发送单元83,其中:
采集单元81,采集用户执行当前操作行为产生的业务数据;
确定单元82,确定所述当前操作行为中包含的至少一个预设变量对应的累计结果;
发送单元83,将所述累计结果发送给服务器。
实施例7
图9为本申请实施例提供的一种风险识别设备的结构示意图。该风险识别设备应用于服务器,包括:接收单元91和识别单元92,其中:
接收单元91,接收终端设备发送的累计结果,所述累计结果是用户在所述终端设备上执行的当前操作行为中包含的至少一个预设变量对象的,通过上述实施例1中所述的数据处理方法得到;
识别单元92,根据所述累计结果,对所述用户的操作行为进行风险识别。
实施例8
图10为本申请实施例提供的一种风险识别设备的结构示意图。该风险识别设备应用于客户端,包括:采集单元1001、确定单元1002和识别单元1003,其中:
采集单元1001,采集用户执行当前操作行为产生的业务数据;
确定单元1002,确定所述当前操作行为中包含的至少一个预设变量对应的累计结果;
识别单元1003,根据所述累计结果,对所述用户的操作行为进行风险识别。
在本申请的另一个实施例中,所述确定单元1002确定所述当前操作行为中包含的至少一个预设变量对应的累计结果,包括:
确定所述当前操作行为对应的至少一个预设变量;
获取所述用户在执行相邻前一次所述操作行为后所述预设变量对应的第一结果;
根据所述第一结果和所述业务数据中包含的所述当前操作行为对应的所述预设变量的第一特征值,利用预设算法计算得到所述当前操作行为后所述预设变量对应的第二结果;
将所述第二结果确定为所述当前操作行为中包含的所述预设变量对应的累计结果。
在本申请的另一个实施例中,所述识别单元1003根据所述累计结果,对所述用户的操作行为进行风险识别,包括:
将所述累计结果输入风险模型;
根据所述风险模型的输出结果,对所述用户的操作行为进行风险识别。
实施例9
图11为本申请实施例提供的一种风险识别系统的结构示意图。
本申请实施例中,可以包括若干与服务器200进行通信的客户端100。上述数据发送装置110可以以软件、或软硬件结合的方式存在于客户端100中,该客户端100上可以安装有相应的客户端应用101,上述风险识别装置210可以以软件、或软硬件结合的方式存在于服务器200中。其中:
风险识别装置210可以包含实施例7中所述的单元,这里不再详细描述。
如上所述,在本申请其他可行的实施例中,上述风险识别装置也可以存在于所述客户端内,该风险识别装置可以包括实施例8中所记载的单元。本实施例可以通过在客户端(客户端)预先部署的风险识别装置,并利用计算得到的预设变量的值和风险识别规则来进行风险防控。
基于上述数据发送装置,本申请实施例通过客户端来采集用户的业务数据,并且通过客户端来计算与采集到的业务数据对应的预设变量的累计结果,最终由客户端向服务器端发送计算得到的所述预设变量的累计结果。相较于现有技术,本申请实施例在采集到用户的业务数据之后,并不是直接向服务器端发送所采集到的业务数据,而是通过客户端根据采集到的所述业务数据,来计算得到能够反映用户的操作行为的规律的预设变量的累计结果,并将计算得到的预设变量的累计结果发送到服务器端进行利用。显然,本申请通过计算得到的预设变量的累计结果,能够在充分利用到客户端采集到的大量业务数据的前提下,有效地降低对网络传输资源的消耗。
此外,基于上述风险识别装置,也可以在降低对网络传输资源的消耗的同时,充分利用到客户端采集到的大量业务数据,提高风险识别的准确性。
实施例10
图12为本申请实施例提供的一种数据处理设备的结构示意图。与上述介绍的数据处理方法相对应,该数据处理设备应用与客户端中,该数据处理装置可以包括:累计计算引擎接口、核心计算引擎、数据存取单元、及累计指标管理单元。上述核心计算引擎可以包括数据预处理单元、累计指标解析单元及衰减操作单元。其中,累计计算引擎接口用以接收外部数据输入以及将计算结果输出。上述数据预处理单元用以对输入数据进行解析,根据累计指标要求提取参与计算的数据维度。累计指标解析单元用以对需要进行累计的数据主体、客体、维度、时间窗口进行解析,确定哪些数据需要进行计算。衰减操作单元用以通过衰减函数对累计指标的最近结果进行衰减,使用当前值参与迭代计算,求得累计计算的统计特征(预设变量)的近似值。数据存取单元用于对历史累计结果进行读写操作进行适配(即读取上一次存储的预设变量的值)。累计指标管理单元用以对累计指标的主体、客体、维度、窗口进行管理。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。