区分用户的方法及区分用户的装置与流程

文档序号:14685561发布日期:2018-06-14 17:46阅读:143来源:国知局
本发明涉及互联网
技术领域
,特别是涉及一种区分用户的方法以及区分用户的装置。
背景技术
:在互联网技术的广泛应用中,用户在访问互联网网站时,互联网网站通常需要对访问该网站的用户进行识别,以便于能够辨别用户身份、对用户的访问习惯进行分析、进行信息推荐、基于对用户的访问行为的分析来进行技术改进等众多用途。传统的互联网网站识别用户的方式,大多是在用户的浏览器中放置一个独一无二的cookie(一种网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据),这也是被谷歌、百度等绝大部分互联网企业使用的方式,被认为是行之有效的办法。以谷歌分析为例,当用户访问任意引用了谷歌分析的网站(例如https://news.google.com.hk或者https://translate.google.com.hk)时,网站将在用户的浏览器上设置一个名为“ga”的cookie,值形如“GA1.4.739820157.1450069268”,以此作为用户的唯一标识。这个标识在同一浏览器上,所有的网站都是相同的,这样谷歌分析就可以区分网站的访问者。目前的这种区分网站的访问者的方式比较简单,每个设备仅仅下发一个cookie。然而,对于同一个设备来说,可能会具有多个不同的使用者,目前的这种方式并不能对使用同一台设备、同一个浏览器的不同用户进行区分。技术实现要素:基于此,本发明实施例的目的在于提供一种区分用户的方法以及一种区分用户的装置,其可以有效地对使用同一台设备、同一个浏览器的不同用户进行区分。为达到上述目的,本发明实施例采用以下技术方案:一种区分用户的方法,包括步骤:接收终端发送的网站访问请求,根据所述网站访问请求向所述终端返回网站页面,所述网站页面中嵌入有鼠标事件监听模块;接收所述鼠标事件监听模块返回的鼠标事件数据;对各时间周期内的鼠标事件数据的相似度进行分析,确定各时间周期的用户鼠标行为的相似度;根据各时间周期的用户鼠标行为的相似度,确定各时间周期的鼠标行为的用户是否为同一用户。一种区分用户的方法,包括步骤:向网站服务器发送网站访问请求;接收所述网站服务器根据所述网站访问请求返回的网站页面,所述网站页面中嵌入有鼠标事件监听模块;所述鼠标事件监听模块监听鼠标事件,获得鼠标事件数据,并将鼠标事件数据向所述网站服务器发送,由所述网站服务器根据各时间周期内的鼠标事件数据,确定各时间周期的用户鼠标行为的相似度,并根据所述相似度确定各时间周期的鼠标行为的用户是否为同一用户。一种区分用户的装置,包括:网页交互模块,用户接收终端发送的网站访问请求,根据所述网站访问请求向所述终端返回网站页面,所述网站页面中嵌入有鼠标事件监听模块;数据接收模块,用于接收所述鼠标事件监听模块返回的鼠标事件数据;相似度确定模块,用于对各时间周期内的鼠标事件数据的相似度进行分析,确定各时间周期的用户鼠标行为的相似度。一种区分用户的装置,包括:请求发送模块,用于向网站服务器发送网站访问请求;页面接收模块,用于接收所述网站服务器根据所述网站访问请求返回的网站页面,所述网站页面中嵌入有鼠标事件监听模块;所述鼠标事件监听模块监听鼠标事件,获得鼠标事件数据,并将鼠标事件数据向所述网站服务器发送,由所述网站服务器根据各时间周期内的鼠标事件数据,确定各时间周期的用户鼠标行为的相似度,并根据所述相似度确定各时间周期的鼠标行为的用户是否为同一用户。根据如上所述的本发明实施例的方案,其是在向终端返回的网站页面中嵌入有鼠标事件监听模块,通过该鼠标事件监听模块对终端/浏览器的各种鼠标事件进行监听,由于对于不同的用户会有不同的鼠标操作习惯,从而针对监听到的鼠标事件进行分析,基于各时间周期的用户鼠标行为的相似度,就可以确定各时间周期的鼠标行为的用户是否为同一用户,从而可以实现有效地对使用同一台设备、同一个浏览器的不同用户进行区分。附图说明图1是一个具体示例中的本发明方案的应用环境的示意图;图2是一个实施例中的区分用户的方法的流程示意图;图3是另一个实施例中的区分用户的方法的流程示意图;图4是一个具体示例中的区分用户的方法的交互流程示意图;图5是一个实施例中的区分用户的装置的结构示意图;图6是另一个具体示例中的区分用户的装置的结构示意图。具体实施方式为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。图1中示出本发明一个实施例中的工作环境示意图。终端101通过网络与网站服务器102连接,终端101可以从网站服务器102获得相关网站页面并进行显示,在终端101访问网站服务器102时,网站服务器102会为该终端101下发一个唯一的cookie,该cookie会存在终端101本地,以作为终端用户的唯一性标识。本发明实施例方案涉及的是网站服务器102在向终端101返回的网站页面中嵌入鼠标事件监听模块,通过该鼠标事件监听模块对终端101的鼠标事件进行监听,以基于监听到的鼠标事件对同一终端的不同用户进行区分。图2中示出了一个实施例中的区分用户的方法,该实施例是以网站服务器102的处理过程为例进行说明。如图2所示,该实施例中的区分用户的方法包括步骤:步骤S201:接收终端发送的网站访问请求,根据所述网站访问请求向所述终端返回网站页面,所述网站页面中嵌入有鼠标事件监听模块;步骤S202:接收所述鼠标事件监听模块返回的鼠标事件数据;步骤S203:对各时间周期内的鼠标事件数据的相似度进行分析,确定各时间周期的用户鼠标行为的相似度;步骤S204:根据各时间周期的用户鼠标行为的相似度,确定各时间周期的鼠标行为的用户是否为同一用户。根据如上所述的本发明实施例的方案,其是在向终端返回的网站页面中嵌入有鼠标事件监听模块,通过该鼠标事件监听模块对终端/浏览器的各种鼠标事件进行监听,由于对于不同的用户会有不同的鼠标操作习惯,从而针对监听到的鼠标事件进行分析,基于各时间周期的用户鼠标行为的相似度,就可以确定各时间周期的鼠标行为的用户是否为同一用户,从而可以实现有效地对使用同一台设备、同一个浏览器的不同用户进行区分。其中,上述鼠标事件数据具体可以是包括鼠标事件类型以及各鼠标事件类型的事件次数。该鼠标事件类型可以是包括鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件,基于实际监听到的鼠标事件的不同,实际接收到的鼠标事件数据中的鼠标事件类型,可以是包括鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件中的任意一项或者任意组合。为了避免多发送鼠标事件数据的次数过多,因此,上述鼠标事件监控模块可以是每隔预定时间段发送一次鼠标事件监控数据,其中,该预定时间段小于上述时间周期的时长。上述步骤S203中在确定相似度时,一个实施例中的具体实现方式可以是:以各时间周期内的各鼠标事件类型的事件次数作为向量元素,构建各时间周期的鼠标事件向量;计算任意两个时间周期的鼠标事件向量的夹角余弦值;将该夹角余弦值作为该两个时间周期的用户鼠标行为的相似度。考虑到用户移动鼠标的次数通常较为频繁,因此,出于有效性的考虑,在一个示例中,在鼠标事件类型为鼠标移动事件时,可以是将各时间周期内的鼠标移动事件的事件次数除以预定数值,并将除以预定数值后得到的值作为各时间周期内的与鼠标移动事件对应的向量元素。图3中示出了另一个实施例中的区分用户的方法,该实施例中是以终端/浏览器的处理过程为例进行说明。如图3所示,该实施例中的方法包括:步骤S301:向网站服务器发送网站访问请求;步骤S302:接收所述网站服务器根据所述网站访问请求返回的网站页面,所述网站页面中嵌入有鼠标事件监听模块;步骤S303:所述鼠标事件监听模块监听鼠标事件,获得鼠标事件数据,并将鼠标事件数据向所述网站服务器发送,由所述网站服务器根据各时间周期内的鼠标事件数据,确定各时间周期的用户鼠标行为的相似度,并根据所述相似度确定各时间周期的鼠标行为的用户是否为同一用户。根据如上所述的本发明实施例的方案,其是在向终端返回的网站页面中嵌入有鼠标事件监听模块,通过该鼠标事件监听模块对终端/浏览器的各种鼠标事件进行监听,由于对于不同的用户会有不同的鼠标操作习惯,从而针对监听到的鼠标事件进行分析,基于各时间周期的用户鼠标行为的相似度,就可以确定各时间周期的鼠标行为的用户是否为同一用户,从而可以实现有效地对使用同一台设备、同一个浏览器的不同用户进行区分。其中,上述鼠标事件数据具体可以是包括鼠标事件类型以及各鼠标事件类型的事件次数。该鼠标事件类型可以是包括鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件,基于实际监听到的鼠标事件的不同,实际接收到的鼠标事件数据中的鼠标事件类型,可以是包括鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件中的任意一项或者任意组合。据此,上述鼠标事件监听模块在监听到鼠标事件时,可以在分析确定该鼠标事件的鼠标事件类型后,再更新该鼠标事件类型的事件次数。考虑到在实际的鼠标操作中,有一些鼠标操作是要实现具体的相关功能,即是有效的鼠标操作,与用户的鼠标操作习惯无关,因此,在一个具体示例中,鼠标事件监听模块监听到鼠标事件之后,还可以先判断该鼠标事件是否为有效的点击事件,如果是有效的点击事件,则无需分析该鼠标事件的鼠标事件类型,如果不是有效的点击事件,则进入上述分析鼠标事件的鼠标事件类型的过程。考虑到终端的鼠标事件较多,若每一次监听到鼠标事件都向网站服务器发送一次鼠标事件数据,向网站服务器发送鼠标事件数据的次数将会大量增多,会影响到网络情况,而且会导致网站服务器需要处理大量繁琐的数据。因此,在一个具体示例中,鼠标事件监听模块可以是每隔预定时间段向所述网站服务器发送鼠标事件数据。且在间隔预定时间段向网站服务器发送鼠标事件数据后,还可以将各鼠标事件类型的事件次数清零,以进行下一个时间段的计数。其中,该预定时间段小于上述时间周期的时长。为了更好地对发明的区分用户的方法进行说明,图4中示出了一个具体示例中的区分用户的方法的交互流程示意图。如图4所示,在需要访问网站的相关网页页面时,终端/浏览器向服务器发送网站访问请求。在该网站访问请求中,包含有网站服务器为该终端/浏览器分配的唯一的ID(通常为cookie),以对终端进行唯一性标识。在终端/浏览器首次访问网站服务器时,由于网站服务器尚未为其分配ID,因此,该网站访问服务器中则不会包含有该ID。网站服务器在接收到终端/浏览器发送的该网站访问请求后,在终端/浏览器是首次访问的情况下,网站服务器向该终端/浏览器下发一个唯一的cookie,在终端/浏览器后续每次访问该网站服务器时,都会携带该唯一的cookie,网站服务器可以根据该cookie识别出是来自于同一个终端/浏览器。以终端/浏览器访问的是“cvte.com”及或者其域名下的任意地址为例,网站服务器向终端/浏览器下发的cookie:_cvte_tracker的值可以为:wvRhrmnNeoD5TrbAHjcbParC5YqlurGW。网站服务器基于上述网站访问请求,获取具体的网站页面,并在该网站页面中嵌入鼠标事件监听模块后,返回给上述终端/浏览器。即网站服务器向上述终端/浏览器返回的具体的网站页面中,嵌入有鼠标事件监听模块。该鼠标事件监听模块,可以是指具体的用以对鼠标事件进行监听的相关程序代码,具体的实现鼠标事件监听模块的实现方式,基于不同的程序代码语言以及其他的实际考虑因素等,可以有所不同,只要能够实现对终端的鼠标事件的监听即可。终端/浏览器接收到网站服务器返回的嵌入有鼠标事件监听模块的网站页面后,将该网站页面进行加载显示。终端/浏览器的用户会在该网站页面上进行相关的鼠标操作,网站页面中的鼠标事件监听模块开始对终端/浏览器的鼠标事件进行监听。鼠标事件监听模块在监听到鼠标事件后,首先判断该鼠标事件是否是一个有效的鼠标事件。具体的判断鼠标事件是否是一个有效的鼠标事件的方式,可以是采用任何可能的方式进行,一个具体示例中的判断方式可以是:获取当前鼠标事件的操作对象目标(即EventTarget),检查该操作对象目标是否为锚点(HTML中的a标签)、按钮(HTML中的button标签)或者输入框(HTML中的input\extarea标签)。如果是,则可以判定当前鼠标事件是一次有效的鼠标操作,无需执行后续的鼠标监听的处理过程。如果不是,则认为这是一个无效的鼠标操作,执行后续的鼠标监听的过程。本领域技术人员可以理解,基于实际的网页页面设计的不同,也可以是将操作对象目标是其他目标的情况也设定为是有效的鼠标操作,在判定该鼠标事件不是有效的鼠标操作的情况下,确定该鼠标事件的鼠标事件类型,即对该鼠标事件进行分类,在一个具体示例中,鼠标事件类型划分为鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件四种,本领域技术人员可以理解,基于实际需要不同,也可以采用其他的方式来划分鼠标事件类型。在确定该鼠标事件的鼠标事件类型后,记录并更新鼠标事件类型的事件次数。重复上述过程,鼠标事件监听模块在每监听到鼠标事件后,都执行上述过程,记录并更新对应的鼠标事件类型的事件次数,直至到达预设时间段。在到达预定时间段后,鼠标事件监听模块获得鼠标事件数据,并将鼠标事件数据向网站服务器发送,该鼠标事件数据包括该预定时间段内鼠标事件监听模块监听到的各鼠标事件类型以及对应的事件次数,同时还可以包括有发送给鼠标事件数据的时间。在鼠标事件监听模块将该预定时间段内的鼠标事件数据发送给网站服务器后,还可以将各鼠标事件类型的事件次数清零,或者是直接清除所缓存的鼠标事件数据,以便于对下一预定时间段监听到的鼠标事件数据进行缓存。网站服务器在接收到鼠标事件监听模块返回的鼠标事件数据后,记录该鼠标事件数据,并以设定的时间周期内的鼠标事件数据为有效数据样本,进行后续的相似度分析的过程。以时间周期为1个小时为例,一个具体示例中的各时间周期的鼠标事件数据可以是如下表1所示:表1时间鼠标双击事件鼠标三击事件鼠标移动事件文本选择事件2015.12.229时56100876102015.12.2210时320934872015.12.2211时4201208492015.12.2212时260144324随后,网站服务器对指定时长范围内的各时间周期内的鼠标事件的相似度进行分析,确定各时间周期的用户鼠标行为的相似度。在确定相似度时,是以各时间周期内的各鼠标事件类型的事件次数作为向量元素,构建各时间周期的鼠标事件向量,并计算任意两个时间周期的鼠标事件向量的夹角余弦值,将该夹角余弦值作为该两个时间周期的用户鼠标行为的相似度。考虑到用户移动鼠标的次数通常较为频繁,出于有效性的考虑,针对鼠标移动事件,可以是将各时间周期内的鼠标移动事件的事件次数除以预定数值,并将除以预定数值后得到的值作为各时间周期内的与鼠标移动事件对应的向量元素。结合上述表1为例,假设指定时长范围为2015年12月22日9时至12时,上述预定数值为10,则时间周期2015年12月22日9时、10时、11时、12时的鼠标事件向量分别为A1=[56,100,87.6,10]、B1=[32,0,93.4,87]、C1=[42,0,120.8,49]、D1=[26,0,144.3,24]。针对得到的各鼠标事件向量,可以针对各鼠标事件向量来计算各鼠标事件向量之间的相似度,在计算相似度时,可以采用任何可能的计算相似度的方式进行,例如基于欧氏距离的相似度计算方式、基于夹角余弦的相似度计算方式、基于哈希函数的相似度计算方式等等。以基于夹角余弦的相似度计算方式为例,具体为计算任意两个鼠标事件向量之间的夹角余弦值。一个具体示例中可以采用下式来计算夹角余弦值:cosθ=Σi=1n(Ai×Bi)Σi=1n(Ai)2×Σi=1n(Bi)2=A·B|A|×|B|]]>其中,cosθ指得到的夹角余弦值,n指向量中的向量元素的数目,A表示其中一个向量,B表示另一个向量,Ai表示向量A的第i个向量元素,Bi表示向量的第i个向量元素。结合上述基于表1得到的向量A1、B1、C1、D1为例,最后得到的各向量之间的夹角余弦值/相似度如下表2所示。表2向量1向量2余弦值/相似度A1B10.48B1C10.93B1D10.84C1D10.97通过上述得到的相似度可以得知,C1与D1非常相似,因而可以确定2015年12月22日的11时至12时是相同的用户在使用,而A1与B1、C1、D1相差比较大,因而可以认为2015年12月22日的9时是不同的用户在使用。其中,上述判断过程可以是有网站服务器的工作人员基于上述夹角余弦值/相似度人工来判定,也可以是通过设定相应的相似度阈值后,网站服务器直接将相似度与相似度阈值进行比较,若相似度大于相似度阈值,则认为是相同的用户,若相似度小于相似度阈值,则认为是不同的用户。相似度阈值的具体数值,可以结合实际需要来设定,例如0.95、0.90、0.88、0.85、0.80等,本发明实施例不做具体限定。基于与上述方法相同的思想,本发明实施例还提供一种区分用户的装置,以下针对区分用户的装置的实施例进行说明。图5中示出了一个实施例中的区分用户的装置的结构示意图,该实施例是以设置在网站服务器为例进行说明。如图5所示,该实施例中的区分用户的装置包括:网页交互模块501,用于接收终端发送的网站访问请求,根据所述网站访问请求向所述终端返回网站页面,所述网站页面中嵌入有鼠标事件监听模块;数据接收模块502,用于接收所述鼠标事件监听模块返回的鼠标事件数据;相似度确定模块503,用于对各时间周期内的鼠标事件数据的相似度进行分析,确定各时间周期的用户鼠标行为的相似度。如图5所示,在该实施例中,还可以包括有:用户区分模块504,用于根据各时间周期的用户鼠标行为的相似度,确定各时间周期的鼠标行为的用户是否为同一用户。在一个具体示例中,用户区分模块504可以是在相似度大于预设相似度阈值时,判定对应的时间周期的鼠标行为的用户为同一用户。具体的预设相似度阈值,可以结合实际需要进行设定。从而可以由网站服务器自主判定各时间周期的鼠标行为的用户是否为同一用户。根据如上所述的本发明实施例的方案,其是在向终端返回的网站页面中嵌入有鼠标事件监听模块,通过该鼠标事件监听模块对终端/浏览器的各种鼠标事件进行监听,由于对于不同的用户会有不同的鼠标操作习惯,从而针对监听到的鼠标事件进行分析,基于各时间周期的用户鼠标行为的相似度,就可以确定各时间周期的鼠标行为的用户是否为同一用户,从而可以实现有效地对使用同一台设备、同一个浏览器的不同用户进行区分。其中,上述鼠标事件数据具体可以是包括鼠标事件类型以及各鼠标事件类型的事件次数。该鼠标事件类型可以是包括鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件,基于实际监听到的鼠标事件的不同,实际接收到的鼠标事件数据中的鼠标事件类型,可以是包括鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件中的任意一项或者任意组合。为了避免多发送鼠标事件数据的次数过多,因此,上述鼠标事件监控模块可以是每隔预定时间段发送一次鼠标事件监控数据,其中,该预定时间段小于上述时间周期的时长。如图5所示,在一个具体示例中,上述相似度确定模块503可以包括:向量构建模块5031,用于以各时间周期内的各鼠标事件类型的事件次数作为向量元素,构建各时间周期的鼠标事件向量;相似度计算模块5032,用于计算任意两个时间周期的鼠标事件向量的夹角余弦值,并将该夹角余弦值作为该两个时间周期的用户鼠标行为的相似度。考虑到用户移动鼠标的次数通常较为频繁,因此,出于有效性的考虑,在一个示例中,上述向量构建模块5031,可以是在鼠标事件类型为鼠标移动事件时,是将各时间周期内的鼠标移动事件的事件次数除以预定数值,并将除以预定数值后得到的值作为各时间周期内的与鼠标移动事件对应的向量元素。图6中示出了另一个实施例中的区分用户的装置的结构示意图,该实施例是以设置在终端为例进行说明。如图6所示,该实施例中的区分用户的装置包括:请求发送模块601,用于向网站服务器发送网站访问请求;页面接收模块602,用于接收所述网站服务器根据所述网站访问请求返回的网站页面,所述网站页面中嵌入有鼠标事件监听模块;所述鼠标事件监听模块监听鼠标事件,获得鼠标事件数据,并将鼠标事件数据向所述网站服务器发送,由所述网站服务器根据各时间周期内的鼠标事件数据,确定各时间周期的用户鼠标行为的相似度,并根据所述相似度确定各时间周期的鼠标行为的用户是否为同一用户。根据如上所述的本发明实施例的方案,其是在向终端返回的网站页面中嵌入有鼠标事件监听模块,通过该鼠标事件监听模块对终端/浏览器的各种鼠标事件进行监听,由于对于不同的用户会有不同的鼠标操作习惯,从而针对监听到的鼠标事件进行分析,基于各时间周期的用户鼠标行为的相似度,就可以确定各时间周期的鼠标行为的用户是否为同一用户,从而可以实现有效地对使用同一台设备、同一个浏览器的不同用户进行区分。其中,上述鼠标事件数据具体可以是包括鼠标事件类型以及各鼠标事件类型的事件次数。该鼠标事件类型可以是包括鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件,基于实际监听到的鼠标事件的不同,实际接收到的鼠标事件数据中的鼠标事件类型,可以是包括鼠标双击事件、鼠标三击事件、鼠标移动事件、文本选择事件中的任意一项或者任意组合。据此,上述鼠标事件监听模块在监听到鼠标事件时,可以在分析确定该鼠标事件的鼠标事件类型后,再更新该鼠标事件类型的事件次数。考虑到在实际的鼠标操作中,有一些鼠标操作是要实现具体的相关功能,即是有效的鼠标操作,与用户的鼠标操作习惯无关,因此,在一个具体示例中,鼠标事件监听模块监听到鼠标事件之后,还可以先判断该鼠标事件是否为有效的点击事件,如果是有效的点击事件,则无需分析该鼠标事件的鼠标事件类型,如果不是有效的点击事件,再分析鼠标事件的鼠标事件类型。考虑到终端的鼠标事件较多,若每一次监听到鼠标事件都向网站服务器发送一次鼠标事件数据,向网站服务器发送鼠标事件数据的次数将会大量增多,会影响到网络情况,而且会导致网站服务器需要处理大量繁琐的数据。因此,在一个具体示例中,鼠标事件监听模块可以是每隔预定时间段向所述网站服务器发送鼠标事件数据。且在间隔预定时间段向网站服务器发送鼠标事件数据后,还可以将各鼠标事件类型的事件次数清零,以进行下一个时间段的计数。其中,该预定时间段小于上述时间周期的时长。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1