提高现网动态用户和静态用户识别精度的方法

文档序号:7795023阅读:273来源:国知局
提高现网动态用户和静态用户识别精度的方法
【专利摘要】本发明涉及计算机网络【技术领域】,公开了一种提高现网动态用户和静态用户识别精度的方法,通过分析radius信令报文和http访问报文的原始数据,结合NoSql数据库、本地缓存、分布式缓存同步技术、用户缓存老化机制,异步访问数据库方式提高现网动态用户和静态用户的识别精度。弥补了在大数据下用户的分类识别的缺陷,能够有效区别动态用户和静态用户,提高用户识别的准确率。
【专利说明】提局现网动态用户和静态用户识别精度的方法
【技术领域】
[0001]本发明涉及计算机网络【技术领域】,特别是一种提高现网动态用户和静态用户识别精度的方法。
【背景技术】
[0002]用户分析是网络分析中一个重要的组成部分,在分析用户之前必须首先能够识别每个用户,区分出哪些是动态用户,哪些是静态用户。目前有以下几种常用的用户识别的方法:
[0003]I、基于IP或IP+Agent的用户识别
[0004]IP地址是最容易获取的信息,在WEB日志中一般都会包含IP地址和Agent信息,但由于伪IP、代理、动态IP、局域网共享同一公网IP出口等情况的存在,这种方式的准确性低。
[0005]2、基于用户ID的用户识别
[0006]基于用户ID的用户识别是最为准确,因为一般情况下用户不同共享他的用户ID。但是要使用用户ID来识别用户要求必须提供用户注册登录服务,并在点击流数据中记录用户ID。
[0007]3、基于cookie的用户识别
[0008]Cookie字段是网络中通常用来标识用户身份的字段,采用分析cookie的方法来获得用户的相关信息是比较准确的,如CN201310134318. 4《一种识别用户的方法及装置》中所记载的一种识别用户的方法,通过统计的方式得到各个网站的对应的长期的用来唯一标识用户身份的cookie字段,然后根据用户访问报文的跳转关系,将这些cookie都关联起来,生成用户cookie-value关系表及其对应的用户ID ;采集用户发送的访问报文;根据用户cookie-value关系表及其对应的用户ID对访问报文进行标记进行用户识别,从而替代使用ADSL、IP等信息进行用户识别,能够有效提高用户识别的准确性和识别效率。但是用户ID作为用户隐私信息只有相应的网站才知道其在cookie的设置及存放位置,cookie的获取的途径比较复杂。另外,采用分析cookie的方法来获得用户的相关信息,用户属性比较单一。

【发明内容】

[0009](一)本发明解决的技术问题:
[0010]针对现有技术的缺陷,本发明提出了一种提高现网动态用户和静态用户识别精度的方法,弥补了在大数据下用户的分类识别,有效区别动态用户和静态用户,提高用户识别的准确率。
[0011](二)技术方案
[0012]为实现上述目的,本发明提出了一种新的解决方案,通过分析信令报文和访问报文的原始数据,结合NoSql数据库、本地缓存、分布式缓存同步技术、用户缓存老化机制,异步访问数据库方式提高现网动态用户和静态用户的识别精度。
[0013]一方面,本发明提供一种提高现网动态用户和静态用户识别精度的方法,其特征在于,所述方法包括步骤:
[0014](I)使用radius报文的上线报文识别动态用户和静态用户;
[0015](2)使用http报文识别动态用户和静态用户。
[0016](3)重复步骤(I)和(2)直至精确识别出动态用户和静态用户。
[0017]如权利要求I所述的方法,其特征在于:对于用户的标记有两个:用户类型、用户状态,用户类型分为动态用户和静态用户;用户状态为有效用户和无效用户,用来辅助识别动态用户和静态用户。
[0018]优选地,步骤(I)中使用radius报文的上线报文识别动态用户和静态用户具体步骤如下:
[0019]SI :抓取上线报文,查询本地缓存;
[0020]S2 :如果本地缓存中没有UID记录则转步骤S7 ;如果本地缓存存在UID记录,则判断缓存中的UID和radius报文中的UID是否相等;若相等,转步骤S3,若不相等,转步骤
S5;
[0021]S3:判断用户是否有效;
[0022]S4 :若为有效用户,则先让用户下线,然后存入本地缓存,转步骤S7 ;若为无效用户,则直接存入本地缓存,转步骤S7 ;
[0023]S5 :判断用户是否有效;
[0024]S6 :若为有效用户,则标记该用户为动态用户;若为无效用户,则存入本地缓存,转步骤S7 ;
[0025]S7 :标记用户为动态用户,并同步其它缓存和更新NoSql数据库。
[0026]优选地,步骤(2)中使用http报文识别动态用户和静态用户具体步骤如下:
[0027]SI :抓取http报文,查询本地缓存;
[0028]S2 :如果本地缓存中没有对应的记录,则转步骤S7 ;如果本地缓存中存在对应的记录,转步骤S3 ;
[0029]S3 :判断用户是否有效;
[0030]S4 :若为有效用户,则转步骤S5 ;若为无效用户,则转步骤S7 ;
[0031]S5 :判断用户是否为静态用户;
[0032]S6 :若不是静态用户,则标记该用户为动态用户;若是静态用户,则判断该用户是否超出老化时间,若没有超出老化时间则确定为静态用户,若超出老化时间,则需要删除本地记录,同时同步其它缓存,保存数据库;
[0033]S7:查询此用户是否为此运营商用户,如果是运营商用户则以异步的方式查询NoSql数据库;如果不是运营商用户则说明此流量为过境流量,将该报文直接过滤。
[0034]优选地,缓存为分布式缓存,缓存之间的同步采用分布式缓存的同步方式。
[0035]优选地,步骤(I)中还可以采用radiu报文的更新报文来识别动态用户和静态用户,采用更新报文识别动态用户和静态用户的步骤与上线报文一致。
[0036](三)技术效果
[0037]本发明提出了本地缓存和NoSql数据库结合的方式,采用本地缓存分布式同步机制,异步访问数据库的方式,能够利用运营商记录的用户数据,有效弥补现有技术在处理大数据下用户的分类识别的缺陷,更加精确地识别出用户为动态用户还是静态用户。
【专利附图】

【附图说明】
[0038]图I是本发明中提高现网动态用户和静态用户识别精度的方法流程示意图;
[0039]图2是本发明中采用radius报文的上线报文识别动态用户和静态用户的方法流程不意图;
[0040]图3是本发明中采用http报文识别动态用户和静态用户的方法流程示意图。【具体实施方式】
[0041]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所其他实施例,都属于本发明保护的范围。
[0042]本发明的方法通过分析现有网络的原始流量中的radius报文和http报文相结合的方式来区别出动态用户和静态用户。采用NoSql数据库,利用本地缓存技术,异步访问模式和分布式缓存同步机制,提高现网中静态用户和动态用户识别的精度。数据来源为运营商中心机房原始镜像流量。
[0043]网络中通过用户名和密码每次拨号上网的用户为动态用户;用户只有上网行为,没有拨号上网的用户,则认为是静态用户。
[0044]本发明中设定对于用户的标记有两个:用户类型、用户状态。用户类型分为动态用户和静态用户;用户状态为有效用户和无效用户,用来辅助识别动态用户和静态用户。
[0045]采用NoSql数据库存储用户数据,在本地缓存中保存用户的WD以及用户的状态,分布式的缓存中保存用户的WD、用户是否有效(根据是否下线判断),用户的属性(动态用户或静态用户)
[0046]图I是本发明中提高现网动态用户和静态用户识别精度的方法流程示意图,方法包括步骤:
[0047](I)使用radius报文的上线报文识别动态用户和静态用户;
[0048](2)使用http报文识别动态用户和静态用户。
[0049]( 3 )重复步骤(I)和(2 )直至精确识别出动态用户和静态用户。
[0050]图2是本发明中采用radius报文的上线报文识别动态用户和静态用户的方法流程不意图。
[0051]radius报文,是为拨号用户进行认证和计费。Radius报文有三种类型的报文:上线报文、更新报文和下线报文。通过解析可以得到报文中的用户账户UID和IP地址,其中账户名需要用MD5加密。
[0052]方法的具体步骤如下:
[0053]SI :抓取上线报文,查询本地缓存;
[0054]S2 :如果本地缓存中没有UID记录则转步骤S7 ;如果本地缓存存在UID记录,则判断缓存中的UID和radius报文中的UID是否相等;若相等,转步骤S3,若不相等,转步骤S5;
[0055]S3 :通过本地缓存表中的标记字段,判断用户是否有效;
[0056]S4 :若为有效用户,说明之前用户的下线报文丢失,需要先让用户下线,更新下线时间,然后存入本地缓存,转步骤S7 ;若为无效用户,则直接存入本地缓存,转步骤S7 ;
[0057]S5 :通过本地缓存表中的标记字段,判断用户是否有效;
[0058]S6 :若为有效用户,则标记该用户为动态用户;若为无效用户,则存入本地缓存,转步骤S7 ;
[0059]S7 :标记用户为动态用户,并同步其它缓存和更新NoSql数据库。
[0060]还可以采用radius报文中的更新报文来识别动态用户和静态用户,采用更新报文识别动态用户和静态用户的方法与上线报文一致。
[0061]图3是本发明中采用http报文识别动态用户和静态用户的方法流程示意图,具体步骤如下:
[0062]SI :抓取http报文,查询本地缓存;
[0063]S2 :查询本地缓存表中是否有此报文IP的对应记录,如果没有,则转步骤S7 ;如果本地缓存中存在对应的记录,转步骤S3 ;
[0064]S3 :通过本地缓存表中的标记字段,判断用户是否有效;
[0065]S4 :若为有效用户,则转步骤S5 ;若为无效用户,则转步骤S7 ;
[0066]S5 :通过本地缓存表中的用户属性字段,判断用户是否为静态用户;
[0067]S6 :若不是静态用户,则标记该用户为动态用户;若是静态用户,则判断该用户是否超出老化时间,若没有超出老化时间则确定为静态用户,若超出老化时间,则需要删除本地记录,同时同步其它缓存,保存数据库;
[0068]S7:查询此用户是否为此运营商用户,如果是运营商用户则以异步的方式查询NoSql数据库,将查到的结果保存到本地缓存;如果不是运营商用户则说明此流量为过境流量,将该报文直接过滤;
[0069]使用此套技术可以识别出现网中的动态用户和静态用户,在报文有丢失的情况下,由于没有抓到报文,可能会导致用户判断错误,但本发明通过大量的数据,会将用户属性修改正确。在整个流程的判断中,如果用户属性为动态用户,则此用户的属性不会再改变,如果用户的属性为静态用户,则可能通过后面的报文,判断出是动态用户,则需要修改为动态用户。随着数据量的持久性,会慢慢精确的识别出本地运营商的动态用户和静态用户的比例和详情。
[0070]下面以一个用户的识别过程为例,详细说明识别过程:
[0071]当一个用户A通过拨号上网时,会捕捉到radius上线报文,解析出上线的用户账户UID和IP地址,查询本地缓存,如果本地缓存中不存在UID记录,则认为用户A为动态用户。
[0072]如果本地缓存中存在WD,则判断缓存中的UID和报文中的UID是否为同一个用户,如果不相等,则判断用户是否为有效用户,若为有效用户则让此用户下线,存入保底缓存并识别出为动态用户。若为无效用户,则直接标识为动态用户。
[0073]如果本地缓存中的UID和报文中的UID为同一个用户,判断是否是有效用户,若为有效用户,则标识用户为动态用户,如果为无效用户,则需要存入本地缓存,并标识为动态用户。
[0074]用户A拨号后上网产生的是普通的http报文,解析出报文中的IP,通过IP查询本地缓存,查询本地缓存,如果能从本地缓存中查到记录,则需判断改用户A是否是有效用户,如果该用户A是有效用户,则需判断是否是静态用户,如果不是静态用户,说明这是动态用户;如果是静态用户,则需要判断用户A是否超出老化时间,若没有超出老化时间则确定为静态用户,若超出老化时间,则需要删除本地记录,同时同步其它缓存,保存数据库。
[0075]通过报文流量的长时间分析,最终确认出该用户是动态用户还是静态用户。
[0076]本发明提出了通过对radius信令报文和http访问报文的原始数据进行相结合的分析的模式,相较于现有技术中利用IP、IP+Agent、用户ID, cookie的方式能够提高用户识别的准确率。
[0077]本发明提出了本地缓存和NoSql数据库结合的方式,采用本地缓存分布式同步机制,异步访问数据库的方式,能够利用运营商记录的用户数据,有效弥补现有技术在处理大数据下用户的分类识别的缺陷,更加精确地识别出用户为动态用户还是静态用户。
[0078]虽然本发明以最佳实施例的方式揭示如上,然而并非用其限定本发明,本领域技术人员在不脱离本发明的精神和范围内,可做任意的更改和变动。本发明的保护范围仅由所附权利要求书限定的范围为准。
【权利要求】
1.一种提高现网动态用户和静态用户识别精度的方法,其特征在于,所述方法包括步骤: (1)使用radius报文的上线报文识别动态用户和静态用户; (2)使用http报文识别动态用户和静态用户。 (3 )重复步骤(I)和(2 )直至精确识别出动态用户和静态用户。
2.如权利要求I所述的方法,其特征在于:对于用户的标记有两个:用户类型、用户状态,用户类型分为动态用户和静态用户;用户状态为有效用户和无效用户,用来辅助识别动态用户和静态用户。
3.如权利要求2所述的方法,其特征在于:步骤(I)中使用radius报文的上线报文识别动态用户和静态用户具体步骤如下: s1:抓取上线报文,查询本地缓存; s2:如果本地缓存中没有UID记录则转步骤S7 ;如果本地缓存存在WD记录,则判断缓存中的UID和radius报文中的UID是否相等;若相等,转步骤S3,若不相等,转步骤S5 ; s3:判断用户是否有效; s4:若为有效用户,则先让用户下线,然后存入本地缓存,转步骤S7 ;若为无效用户,则直接存入本地缓存,转步骤S7 ; s5:判断用户是否有效; S6:若为有效用户,则标记该用户为动态用户;若为无效用户,则存入本地缓存,转步骤S7 ; S7 :标记用户为动态用户,并同步其它缓存和更新NoSql数据库。
4.如权利要求3所述的方法,其特征在于:步骤(2)中使用http报文识别动态用户和静态用户具体步骤如下:s1:抓取http报文,查询本地缓存; s2:如果本地缓存中没有对应的记录,则转步骤S7 ;如果本地缓存中存在对应的记录,转步骤S3 ; s3:判断用户是否有效; s4:若为有效用户,则转步骤S5 ;若为无效用户,则转步骤S7 ; s5:判断用户是否为静态用户; s6:若不是静态用户,则标记该用户为动态用户;若是静态用户,则判断该用户是否超出老化时间,若没有超出老化时间则确定为静态用户,若超出老化时间,则需要删除本地记录,同时同步其它缓存,保存数据库; s7:查询此用户是否为此运营商用户,如果是运营商用户则以异步的方式查询NoSql数据库;如果不是运营商用户则说明此流量为过境流量,将该报文直接过滤。
5.如权利要求3或4所述的方法,其特征在于:缓存为分布式缓存,缓存之间的同步采用分布式缓存的同步方式。
6.如权利要求I所述的方法,其特征在于:步骤(I)中还可以采用radius报文的更新报文来识别动态用户和静态用户,采用更新报文识别动态用户和静态用户的步骤与上线报文一致。
【文档编号】H04L12/24GK103763138SQ201410013424
【公开日】2014年4月30日 申请日期:2014年1月13日 优先权日:2014年1月13日
【发明者】崔晶晶, 林佳婕, 刘立娜, 窦乐健 申请人:北京集奥聚合科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1