一种鉴别真实流量的方法与流程

文档序号:15927265发布日期:2018-11-14 01:16阅读:185来源:国知局

本发明涉及一种信息处理方法,尤其涉及一种鉴别真实流量的方法。

背景技术

随着智能终端的发展,app的使用得到了极大的普及。很多app中会要求统计用户的流量,并将流量信息传输给app的后台设备。可能出现的流量信息包括但不限于:app中特定/新增功能被使用的次数,某些阅读类app中具体作品被点击阅读或访问的次数,某些app中嵌入的广告被点击或浏览的次数等等。流量信息中已经出现了较多的虚假流量,即通过使用恶意刷流量程序,伪装成终端上使用app的用户,制造出并非用户真实产生的虚假流量。

目前常用的防虚假流量的手段主要是日志分析方法,从日志数据的统计分析中发现异常,例如:点击量/浏览量的比例过高或者随时间的变化较大,大量流量由若干ip集中生成等。日志分析方法是基于统计常识或分布异常来进行虚假流量的发现,也存在以下不足:

1、需要积累一定的流量数据才能够有效进行,属于后验方式,为虚假流量提供了存在的空间;

2、无法定位到特定一次的真实流量请求,即无法判定特定app的某一次流量请求是真实流量还是虚假流量。

申请人在中国专利申请cn201711079108提供了解决上述技术问题的一种思路,本发明力求提供解决上述技术问题的另一种思路。



技术实现要素:

为了解决上述问题,本发明的第一实施方式提供了一种鉴别真实流量的方法,包括以下步骤:

步骤s100,接收流量鉴别请求并且记录接收到所述流量鉴别请求的时间t,所述流量鉴别请求包括stid、sip;其中,stid为流量来源终端的终端id,sip为流量来源终端的ip地址;

步骤s200,如果stid存在于第一服务器(例如redis服务器)的运行数据的终端id中,那么执行步骤s300;所述第一服务器存储有来源于安装到多个移动终端的可信sdk发送的运行数据,所述运行数据包括可信sdk被安装到的移动终端的终端id、运行数据发送时的移动终端的ip地址和生成时间;

步骤s300,如果stid在第一服务器中对应的ip地址与sip匹配,且t-t1≤s1,那么将鉴别请求的流量状态设置为fs1;其中s1为第一时间阈值,t1为第一服务器中存储的对应于stid和sip的生成时间;

步骤s700,如果流量状态位于真实流量状态列表tfs中,那么确定流量鉴别请求为真实流量。

为了解决上述问题,本发明的第二实施方式提供了一种鉴别真实流量的方法,包括以下步骤:

步骤s100,接收流量鉴别请求并且记录接收到所述流量鉴别请求的时间t,所述流量鉴别请求包括stid、sip;其中,stid为流量来源终端的终端id,sip为流量来源终端的ip地址;

步骤s200,如果stid不存在于第一服务器(例如实现为redis服务器)的运行数据的终端id中,那么执行步骤s500;所述第一服务器存储有来源于安装到多个移动终端的可信sdk发送的运行数据,所述运行数据包括可信sdk被安装到的移动终端的终端id;

步骤s500,如果stid存在于第二服务器(例如也实现为redis服务器),且t-t2≤s3,那么执行步骤s600;其中,所述第二服务器中存储有多个移动终端的终端id、每个终端id对应移动终端的最近活跃时间、以及一个或多个属地编码;所述s3为第三时间阈值,t2为第二服务器中存储的对应于stid的最近活跃时间;

步骤s600,如果stid的在第二服务器中对应的属地编码与sip对应的属地编码sipc匹配,那么将鉴别请求的流量状态设置为fs4;

步骤s700,如果流量状态位于真实流量状态列表tfs中,那么确定流量鉴别请求为真实流量。

附图说明

图1是本发明的鉴别真实流量的示意性流程图;

图2是本发明的第一服务器存储内容的示例性示意图;

图3是本发明的第二服务器存储内容的示例性示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

如图1所示,本发明提供了一种鉴别真实流量的方法,包括以下步骤:

步骤s100,接收流量鉴别请求并且记录接收到流量鉴别请求的时间t,流量鉴别请求包括stid、sip;其中,stid为流量来源终端的终端id,sip为流量来源终端的ip地址。可选的,流量鉴别请求还可以使用md5等非可逆hash算法,来保护信息安全。根据本发明,来源终端优选实现为移动终端,包括但不限于手机、平板电脑等物理设备,并且其上安装有应用程序app。

根据本发明,流量鉴别请求可以是来源app的流量鉴别请求,即移动终端直接发送的流量请求,或者通过负责流量信息的其他第三方平台转发的流量鉴别请求,第三方平台的示例包括但不限于adx(adexchange)、ssp(sell-sideplatform)等。本领域技术人员知晓,任何流量鉴别请求,只要携带有来源终端的stid、sip以及sappid,都适用于本申请的技术方案,从而会落入本申请的保护范围。

根据本发明,移动终端的有些app中会集成有可信sdk,有些app中不集成可信sdk。可信sdk的开发者可以与app的开发者相同,也可以是与app的开发者不同的第三方开发者。作为示例性而非限制性的,可信sdk的一个例子是申请人开发的“个推sdk”。

步骤s200,如果stid存在于第一服务器(例如实现为redis服务器)的运行数据的终端id中,那么根据本发明的第一个方面,执行步骤s300。以图2为例说明,如果stid为imei-1、imei-2或者imei-3中的一个,那么可以认为stid存在于第一服务器的运行数据的终端id中。

如图2所示,第一服务器存储有来源于安装到多个移动终端的可信sdk发送的运行数据,运行数据包括可信sdk被安装到的移动终端的终端id、运行数据发送时的移动终端的ip地址和生成时间。进一步的,第一服务器还存储与ip地址对应的属地编码和生成时间。终端id为终端的唯一标识,例如imei、imsi、唯一的安卓系统标识、和/或用户自定义的任意能够标识终端的id等,优选的,如图2所示,终端id为移动终端的imei。本领域技术人员知晓,运行数据可以为可信sdk发送的原始数据(例如运行日志),也可以为对原始数据(例如运行日志)进行现有技术中提供任意技术手段进行处理后获得的数据,还可以即包括原始数据也包括处理后数据。

步骤s300,如果stid在第一服务器中对应的ip地址与sip匹配,且t-t1≤s1,仍然以图2为例说明,假设stid为imei-1,sip为ip-12,则可以认为stid在第一服务器中对应的ip地址与sip匹配。那么将鉴别请求的流量状态设置为fs1。其中s1为第一时间阈值,优选的,s1最好应当不小于可信sdk发送原始数据(例如运行日志)的最大周期,从而使得服务器接收到流量鉴别请求前的s1时间内,能够接收到可行sdk发送的一次运行日志。优选的,s1一般取值为10-60分钟,最优选的设置为30分钟。t1为第一服务器中存储的对应于stid和sip的生成时间,在前述例子中,t1为t21。

进一步的,生成时间t1可以采用多种时间。简单的,t1为移动终端发送运行日志的时间;再如,t1为服务器接收到运行日志的时间,这种情况下,不需要移动终端将日志发送时间封装到运行日志中,能够节约一些的网络流量。

本发明优选的,确定生成时间t1=ta-tb+tc,其中ta为移动终端上日志发生时间,tb为移动终端上日志发送时间,tc为服务器接收到运行日志的时间。显然,ta和tb为移动终端提供的时间,tc为服务器提供的时间。这种方式获得的t1更为准确,具体包括以下两个技术效果:

第一、规避了移动终端生成日志和发送日志时间不一致的情况。例如有些情况下,可信sdk在app启动时获取移动终端的信息,并在app运行稳定一段时间后或者app退出前才向服务器发送运行日志。示例性的,可信sdk在12:00获得了移动终端的信息,生成运行日志,在12:30将运行日志发送给服务器,此时,如果服务器将运行时间t1设置为12:30,那么将存在不准确的可能性。

第二、校正了移动终端和服务器的时间不一致的情况。服务器的时间一般为标准时间,但是有些移动终端的时间与标准时间存在时间差。例如,当服务器的时间为12:00时,有些移动终端的时间为12:05,即快了5分钟。这样,当移动终端在运行日志中封装的时间是“12:05”时,实际的标准时间仅为“12:00”。使用本发明优选的方式,能够对这种时间差进行校正。

在步骤s300中,运行数据来源于近期(s1时间内)可信sdk发送给服务器的原始数据(例如运行日志),因此可以认为是可信的。当sip与运行数据中的ip地址一致时,则认为极大概率上sip是真实有效的,而不是通过技术手段虚假生成的ip地址。即,一般情况下,认为流量状态fs1表示真实流量。

进一步的,在app启动的时候,可信sdk将原始数据(例如运行日志)发送给第一服务器,使得原始数据(例如运行日志)会早于流量鉴别请求被触发到达服务器,从而使得服务器在收到流量请求时,更容易完成步骤s300的判断。

进一步的,步骤s300中stid在第一服务器中对应的ip地址与sip匹配的判断具体包括:

可选的一种方式为,如果ipa≠null,且sip为ipa中的唯一元素,那么判断stid在第一服务器中的对应的ip地址与sip匹配,否则判断为不匹配。

优选的另一种方式为,如果sip∈ipa,那么判断stid在第一服务器中的对应的ip地址与sip匹配;否则,判断为不匹配。该优选的实施方式充分考虑到移动终端的ip地址可能会在s1的时间内合理发生变化的情况,例如从一个wifi覆盖的区域变更到另一个wifi覆盖的区域,或者变更到移动网络连接的区域,从而使得动态分配的ip地址发生变化,即在s1时间内,移动终端可能会合理的出现两个或多个ip地址。因此,只要sip与这两个或多个ip地址中的一个一致,就认为sip和运行数据中的ip地址一致,从而较前种方式相比,能够降低流量鉴别的误判率。

其中,ipa为stid在第一服务器中的对应的ip地址的集合。

本领域技术人员知晓,只要ipa1和sip满足前述关系,即落入本发明的保护范围,本发明并不意图限定获得ipa1和sip的前述关系的具体方法步骤。

根据本发明,步骤s300中,如果stid在第一服务器中对应的ip地址与sip不匹配,或者t-t1>s1,那么执行步骤s400;

步骤s400,如果sip对应的属地编码sac和stid在第一服务器中对应的属地编码匹配,且t-t1≤s2,那么将流量状态设置为fs2。其中,s2为大于s1的第二时间阈值,优选的,s2一般取值为8-16小时,最优选的设置为12小时。

步骤s400中stid在第一服务器中对应的属地编码匹配的判断具体包括:

可选的一种方式为,如果did≠null,且sac为did中的唯一元素,那么判断sac和stid在第一服务器中对应的属地编码匹配,否则判断为不匹配。

优选的另一种方式为,如果sac∈did,那么判断sac和stid在第一服务器中对应的属地编码匹配,否则判断为不匹配;其中,did为stid在第一服务器中的对应的属地编码的集合。优选的实施方式充分考虑到移动终端的ip地址对应的地理区域可能会在s2的时间内合理发生变化的情况,例如从一个城市移动到另一个城市,从而较前种方式相比,能够降低流量鉴别的误判率。

进一步的,ip地址与地理区域的映射关系可以采用现有技术中的任一方式实现,地理区域的范围可以为城市(例如北京市),也可以为城市的特定区域(例如海淀区或者中关村地区等)。

根据本发明,步骤s400中,如果sip对应的属地编码sac和stid在第一服务器中对应的属地编码不匹配,或者t-t1>s2,那么将流量状态设置为fs3。

步骤s200中,如果stid不存在于第一服务器(例如redis服务器)的运行数据的终端id中,那么根据本发明的第二个方面,执行步骤s500。值得注意的是,本发明的第二个方面中使用的技术术语和技术手段,与本发明的第一个方面只能够使用的技术术语和技术手段相同或基本相同,基于简洁表达的原因,申请人不再对相关的而技术术语和技术手段进行赘述。

步骤s500,如果stid存在于第二服务器(例如也实现为redis服务器),且t-t2≤s3,那么执行步骤s600;如果stid不存在于第二服务器,或者t-t2>s3,那么将鉴别请求的流量状态设置为fs5。其中,所述第二服务器中存储有多个移动终端的终端id、每个终端id对应移动终端的最近活跃时间、以及一个或多个属地编码;所述s3为第三时间阈值,第三时间阈值为2-6个月,优选3个月。所述t2为第二服务器中存储的对应于stid的最近活跃时间。

步骤s600,如果stid的在第二服务器中对应的属地编码与sip对应的属地编码sipc匹配,那么将鉴别请求的流量状态设置为fs4;反之,如果stid的在第二服务器中对应的属地编码与sip对应的属地编码sipc不匹配,那么将流量状态设置为fs6。

采用本发明的第一方面类似的技术,所述步骤s600中stid在第二服务器中对应的属地编码与sip对应的属地编码sipc匹配的判断具体包括:

可选的一种方式为,如果did2≠null,且sipc为did中的唯一元素,那么判断sipc和stid在第二服务器中对应的属地编码匹配,否则判断为不匹配。

优选的另一种方式为,如果sipc∈did2,那么判断sipc和stid在第二服务器中对应的属地编码匹配,否则判断为不匹配;其中,did2为stid在第二服务器中的对应的属地编码的集合。

根据本发明的第一、二个方面,还包括步骤s700。

步骤s700,如果流量状态位于真实流量状态列表tfs中,那么确定流量鉴别请求为真实流量。其中,tfs中的流量状态为自定义流量状态,从而提升本发明中提供了两种方法的灵活性。例如,可以在单独使用本发明的第一个方面时,可以定义tfs={fs1,fs2},当然也可以定义tfs={fs1}或者tfs={fs1,fs2,fs3};在单独使用本发明的第二个方面时,可以定义tfs={fs3};在结合使用本发明的第一、二个方面时,可以定义tfs={fs1,fs2,fs4}。

此外,本领域技术人员知晓,虽然本发明中将第一、二个方面统一绘制在附图1中,但是这并不妨碍本发明的两个方面独立实施,从而构成并列的两个技术方案,也不排斥将本方面的两个方面结合使用,从而构成结合的独立技术方案。

进一步的,本发明还提供了第一服务器中运行数据的更新方法。具体的,当第一服务器接收到可信sdk发送的运行日志时,使用运行日志更新运行数据,运行日志包括可信sdk所在的移动终端的终端id、终端ip地址和运行日志生成时间lt;更新具体包括:

步骤s1010,如果运行日志中的终端id存在于运行数据的终端id中,那么执行步骤s1020。

步骤s1020,如果运行日志中的终端ip地址存在于运行数据的终端id对应的ip地址中,那么获得ip地址对应的时间ipt和ip地址对应的属地编码对应的时间sact;如果lt-ipt>s1,那么使用lt更新ipt和sact;否则执行步骤s1020。

步骤s1020,如果lt-ipt>s2,那么使用lt更新sact。

以上所述,仅是本发明的较佳实施方式,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

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