基于IP地址的鉴别真实流量的服务器的制作方法

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

本发明涉及一种信息处理服务器,尤其涉及一种用于鉴别真实流量的服务器。

背景技术

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

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

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

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

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



技术实现要素:

为了解决上述问题,本发明提供了一种基于ip地址的鉴别真实流量的服务器,包括处理器和存储介质;服务器存储有安装可信sdk的app的appid列表,以及运行日志数据库;可信sdk用于在app运行期间向服务器发送终端的运行日志,服务器接收运行日志并将其存储到运行日志数据库;运行日志包括终端id(例如imei和/或imsi)、终端的当前ip地址、以及日志生成时间t1。

处理器被配置为能够执行存储介质上存储的计算机程序以实现以下鉴别步骤:

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

步骤s200,如果sappid存在于appid列表中,那么执行步骤s300,如果不存在,执行步骤s400。

步骤s300,获得运行日志记录集合rls1;如果rls1≠null,且rls1中的ip地址与sip一致,那么将流量级别设置为a级,然后执行步骤s500;其中,rls1中日志的终端id均与stid相同,且t‐t1<s1,s1为第一时间阈值。

步骤s400,获得运行日志记录集合rls2;如果rls2≠null,且rls2中的ip地址对应的地理区域与sip对应的地理区域一致,那么将流量级别设置为a级,然后执行步骤s500;其中,rls2中日志的终端id均与stid相同,且t‐t1<s2,s2为第二时间阈值。

步骤s500,根据流量级别判断流量是否为真实流量;当流量级别为a级时,判定流量为真实流量。

附图说明

图1是本发明的服务器的结构图;

图2是本发明的鉴别真实流量的主要流程图;

图3是本发明的鉴别真实流量的进一步的第一实施方式的流程图;

图4是本发明的鉴别真实流量的进一步的第二实施方式的流程图。

具体实施方式

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

本发明提供了一种基于ip地址的鉴别真实流量的服务器,包括处理器和存储介质。如图1所示,服务器存储有安装可信sdk的app的appid列表,以及运行日志数据库。app为移动终端(包括但不限于手机、平板电脑等设备)中安装的应用程序,有些app中会集成有可信sdk,有些app中不集成可信sdk。可信sdk的开发者可以与app的开发者相同,也可以是与app的开发者不同的第三方开发者。作为示例性而非限制性的,可信sdk的一个例子是申请人开发的“个推sdk”。

对于安装有可信sdk的app,可信sdk可以在app运行期间,在移动终端所有者授权的情况下,获取app和/或移动终端的相关信息作为移动终端的运行日志,并向服务器发送该运行日志,服务器接收运行日志并将其存储到运行日志数据库。进一步的,可信sdk在app运行期间每隔固定的时间向所述服务器发送运行日志,和/或,可信sdk在app启动的时间向所述服务器发送运行日志。运行日志的内容一般包括但不限于,唯一标识终端的终端id(例如imei、imsi、唯一的安卓系统标识、和/或用户自定义的任意能够标识终端的id等)、移动终端的当前ip地址、以及日志生成时间t1。

进一步的,日志生成时间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”。使用本发明优选的方式,能够对这种时间差进行校正。

如图2所示,处理器被配置为能够执行存储介质上存储的计算机程序以使服务器实现以下鉴别步骤:

步骤s100,接收流量鉴别请求并且记录接收到流量鉴别请求的时间t,流量鉴别请求包括stid、sip和sappid;其中,sappid为流量来源app的appid,stid为流量来源app所在终端的终端id,sip为流量来源app所在终端的ip地址。可选的,流量鉴别请求还可可以使用md5等非可逆hash算法,来保护信息安全。

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

步骤s200,如果sappid存在于appid列表中,那么说明流量鉴别请求来源于安装有可信sdk的app,相应的执行步骤s300,如果不存在,那么说明流量鉴别请求来源于没有安装可信sdk的app或者来源于网页等非app,相应的执行步骤s400。

步骤s300,获得运行日志记录集合rls1;如果rls1≠null,且rls1中的ip地址与sip一致,那么将流量级别设置为a级,然后执行步骤s500;其中,rls1中日志的终端id均与stid相同,且t‐t1<s1,s1为第一时间阈值。优选的,s1最好应当不小于可信sdk发送运行日志的最大周期,从而使得服务器接收到流量鉴别请求前的s1时间内,能够接收到可行sdk发送的一次运行日志。优选的,s1一般取值为10‐60分钟,最优选的设置为30分钟。

该步骤中,rls1来源于近期(s1时间内)的运行日志,而运行日志是可信sdk发送给服务器的,即运行日志是可信的。因此,当sip与rls1中的ip地址一致时,则认为极大概率上sip是真实有效的,而不是通过技术手段虚假生成的ip地址。

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

进一步的,步骤s300中,判断rls1中的ip地址与sip是否一致的方法如下:

可选的一种方式为,如果ipa1≠null,且sip为ipa1中的唯一元素,那么判断rls1中的ip地址与sip一致,否则判断两者不一致。

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

其中,ipa1为rls1中的终端id为stid的ip地址的集合。

本领域技术人员知晓,只要ipa1和sip满足前述关系,即落入本发明的保护范围,本发明并不意图限定获得ipa1和sip的前述关系的具体方法步骤。简单的,可以在rls1内检索sip,检索到相应的记录后反查终端id是否为stid,也可以在rls1内检索stid,检索到相应记录后核对sip。现有技术中提供的手段只要能够实现步骤s300中的介绍ipa1和sip的关系的方式,均落入本发明的保护范围。

步骤s400,获得运行日志记录集合rls2;如果rls2≠null,且rls2中的ip地址对应的地理区域与sip对应的地理区域一致,那么将流量级别设置为a级,然后执行步骤s500;其中,rls2中日志的终端id均与stid相同,且t‐t1<s2,s2为第二时间阈值。优选的,s2一般取值为8‐16小时,最优选的设置为12小时。

该步骤中,虽然流量鉴别请求来源于没有安装可信sdk的app或者来源于网页等非app,但是流量鉴别请求中包括了安装app或者访问网页的终端的stid信息,但是很有可能该终端的其他app中集成了可信sdk,从而使得服务器之前也获得了涉及该终端的可信的日志信息。因此,本发明使用该步骤,利用这些可信的日志信息对于流量的真实性进行鉴别。

与步骤s300的鉴别方式相比,步骤s400中的主要区别在于:

第一、时间阈值s2远大于时间阈值s1。由于流量鉴别请求来源于没有安装可信sdk的终端,因此步骤s400中服务器无法预判较为精确的时间(例如s1)内,该终端的安装有可信sdk的app向服务器发送运行日志,因此s2的值远大于s1。

第二、由于s2的时间较长,从而无法准确预期ip地址的变化。例如,最近一次的运行日志的生成时间在流量鉴别请求的3个小时前,即使真实的移动终端,3小时前后的ip地址很大概率是不同的。因此,步骤s400中使用ip地址对应的地理区域进行判断。

经测试,以上两点,能够保障步骤s400在对没有安装可信sdk的终端进行流量鉴别时,降低误判率。

进一步的,步骤s400中,rls2中的ip地址与sip对应的地理区域一致的判断方法具体包括:

可选的一种方式为,如果did≠null,且sdid为did中的唯一元素,那么判断rls2中的ip地址与sip对应的地理区域一致,否则判断两者不一致。

优选的另一种方式为,如果did≠null,且sdid∈did,那么判断rls2中的ip地址与sip对应的地理区域一致,否则判断两者不一致。

其中,did={d1,d2,…,dm},为基于ipa2为ip地址与地理区域id的映射关系,根据ipa2获得的地理区域id的集合,ipa2={ip1,ip2,…,ipn},为rls2中的ip地址的集合,n为ipa2中ip地址的数量,m为did中区域id的数量,m<=n。

优选的实施方式充分考虑到移动终端的ip地址对应的地理区域可能会在s2的时间内合理发生变化的情况,例如从一个城市移动到另一个城市,从而较前种方式相比,能够降低流量鉴别的误判率。

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

步骤s500,根据流量级别判断流量是否为真实流量;当流量级别为a级时,判定流量为真实流量。

虽然本发明的图2所示的步骤已经能够有效鉴别流量请求中的真实流量,但是为了进一步提升流量鉴别的准确率,降低流量鉴别的误判率,如图3和图4所示,本发明还提供了进一步的实施方式。

如图3所示,本发明的进一步的第一实施方式中,步骤s300进一步包括,如果rls1=null,或者rls1中的ip地址与sip不一致,那么执行以下步骤:

步骤s310,获得运行日志记录集合rls2。

步骤s320,如果rls2=null,那么将流量级别设置为d,执行步骤s500。如果rls2≠null,且rls2中的ip地址对应的地理区域与sip对应的地理区域不一致,那么执行步骤s340。

步骤s330,如果rls2≠null,且rls2中的ip地址对应的地理区域与sip对应的地理区域一致,那么将流量级别设置为b级,执行步骤s500。

其中步骤s320和步骤s330中,rls2中的ip地址对应的地理区域与sip对应的地理区域是否一致的判断方法和步骤s400中的判断方法一致,不再详述。

步骤s340,如果stid∈tid1,那么将流量级别设置为c,执行步骤s500;如果那么将流量级别设置为d,执行步骤s500。其中,tid1为rls2中的终端id的集合。

步骤s500还包括,当流量级别为b级时,判定流量为真实流量;当所述流量级别为d级时,判定流量为非真实流量;当所述流量级别为c级时,判定流量为真实流量(优选)或者判定流量为非真实流量。

值得注意的是,虽然本发明的实施方式中指出了级别b被认定为真实流量,级别c可以被认作真实流量,也可以被认为是非真实流量。但是本领域技术人员知晓,在流量被认定为相应级别的基础上,用户也可以灵活设置哪些级别的流量属于真实流量,哪些流量属于非真实流量。例如,用户可以将级别b、c均设置为非真实流量。

如图4所示,本发明的进一步的第二实施方式中,步骤s400进一步包括,如果rls2=null,或者rls2中的ip地址对应的地理区域与sip对应的地理区域不一致,那么执行以下步骤:

步骤s440,如果stid∈tid1,那么将流量级别设置为b;如果那么获得sip对应的第一地理区域(即sip对应的地理区域)和stid对应的第二地理区域(即stid对应的地理区域)。

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

步骤s450,如果第一、二地理区域相同,那么将流量级别设置为c级;如果第一、二地理区域不同,那么将流量级别设置为d级。

步骤s500还包括,当流量级别为b级时,判定流量为真实流量;当所述流量级别为d级时,判定流量为非真实流量;当所述流量级别为c级时,判定流量为真实流量(优选)或者判定流量为非真实流量。

值得注意的是,虽然本发明的实施方式中指出了级别b被认定为真实流量,级别c可以被认作真实流量,也可以被认为是非真实流量。但是本领域技术人员知晓,在流量被认定为相应级别的基础上,用户也可以灵活设置哪些级别的流量属于真实流量,哪些流量属于非真实流量。例如,用户可以将级别b、c均设置为非真实流量。

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

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