基于动态时间阈值的大数据平台会话识别方法与流程

文档序号:12906363阅读:228来源:国知局

本发明涉及大数据平台异常检测技术领域,特别涉及一种基于动态时间阈值的大数据平台会话识别方法。



背景技术:

随着大数据技术的飞速发展,大数据平台架构变得愈发复杂,而大数据平台对新风险的安全需求也在持续增加。利用异常检测技术保证大数据平台的安全性是一种有效的解决方式,而对用户日志进行精准的会话识别具有重要的意义。一方面,可利用会话异常模型检测出会话异常;另一方面,可根据会话可疑度对用户会话进行模式挖掘。日志挖掘的步骤主要包括数据预处理、模式识别和模式分析,其中数据预处理是首要阶段。数据预处理主要包括数据清洗、用户识别、会话识别和路径补充。会话识别算法的好坏直接影响着后续对会话序列建模的工作,从而决定能否为异常检测提供有意义的支持。

目前,会话识别的方法很多。按照对用户访问行为的不同假设,会话识别的方法可分为基于时间、基于导航、基于语义这三类方法。基于导航的方法主要分析用户整个访问过程,并需要寻找访问过程中断开的位置,并从url中挖掘可以反映用户行为的信息。这类方法主要包括基于引用的方法和基于网络拓扑结构的方法。基于网络拓扑结构的方法比基于引用的方法划分的粒度更小,但是不同用户在相同时间访问相同网页的后续行为会不同,因此这类方法不能模仿人的智能。而基于语义的方法为模拟人的智能提供了可能性。这类方法需要先构建语义本体,再建立用户会话模型,最后将语义接近到一定程度的请求资源划分到同一个会话中。这类方法可划分为直接使用url信息和使用url请求的页面内容。一方面,这类方法对url信息要求比较完整;另一方面,虽然这种方法在模拟用户真实网络行为有一定的突破,但是由于存在局限性和准确率较低的问题,目前这类方法的应用并还没有很广泛。而最常用的基于时间的会话识别方法是以时间阈值为基准来确定会话边界,优点是这类方法在原理和实现上相对另两种方法简单,关键的难点是如何有效合理地设置时间阈值。该方法也可大致分为以会话时长为依据和以相邻请求时长为依据这两类。并且以相邻请求时长为依据的方法比以会话时长为依据的方法更加接近用户真实行为。

在基于时间的方法中,fernandez等人使用30min作为整个会话时长切分的时间阈值,而jonesr等人使用25.5min作为划分时长依据,甚至neelimag等人创新性提出使用60min作为切分阈值。这类划分方式认为所有会话持有相同的时间,划分相对比较粗糙。在以相邻请求时长为依据的方法中需要预先设置一时间间隔阈值,根据判断相邻两次请求的时间是否超过这一阈值确定同一用户相邻两次的请求是否属于同一会话,而时间间隔阈值通常设置为10min。这种设置固定阈值方法的不足在于一方面可能使原本在同一会话中的记录被划分到不同的会话中,另一方面也可能使原本不在同一会话中的记录划分到同一会话中。殷贤亮等人提出了一种改进的基于时间间隔的方法,考虑到不同页面的差异性,通过根据页面内容及站点结构引入链接内容比作为因变量对该阈值进行调整。但是不同的用户会有不同的兴趣和习惯,这样的差异也将会导致访问时间的不同,上述这几种方法并没有考虑到这个层面。



技术实现要素:

本发明的目的在于提供一种基于动态时间阈值的大数据平台会话识别方法,该方法可以提高会话识别的精确率和查全率。

为实现上述目的,本发明的技术方案是:一种基于动态时间阈值的大数据平台会话识别方法,包括以下步骤:

(1)初始化页面时间阈值集合γ={δ1,δ2,…,δn},δk表示第k个页面的页面时间阈值,k∈{1,2,…,n};

(2)从一用户请求记录的集合h={h1,h2,…,hm}中取出请求记录hi,i∈{1,2,…,m},并判断请求记录hi是否为空,是则从集合h中取出下一请求记录继续进行判断,否则转下一步骤;

(3)判断当前请求记录与前一个请求记录是否属于同一个用户,是则转下一步骤,否则将当前请求记录加入新会话中,并按照用户访问时间阈值的计算公式和设置权重公式更新集合γ,然后返回步骤(2)取出下一请求记录继续进行判断;

(4)计算请求记录hi的访问时间tnew,并判断是否满足访问时间tnewδjδj表示请求记录hi对应当前页面的页面时间阈值,是则将该请求记录加入当前会话sc中并转下一步骤,否则将该请求记录加入新会话sc+1中并更新集合γ,然后返回步骤(2)取出下一请求记录继续进行判断;

(5)如果访问时间tnew满足时间阈值调整的条件,即访问时间tnew超过设定的间隔时间,则更新集合γ,然后返回步骤(2)取出下一请求记录继续进行判断,否则直接返回步骤(2)取出下一请求记录继续进行判断。

进一步地,按照用户访问时间阈值的计算公式和权重公式更新集合γ的方法为:

按如下方法计算页面访问时间阈值δ’

计算链接内容比rlcr

rlcr=(al1+al0)/(l1+l0)

其中,l1表示页面的链入数,即链接到该页面的页面个数,l0表示页面的链出数,即该页面包含的链接个数,a1表示链入数的权值,a2表示链出数的权值,a1+a2=1;

采用下式将rlcr值映射到(0,1):

β=1-exp(rlcr)

其中,βrlcr值对页面访问时间阈值δ’的影响因子;

页面访问时间阈值δ’为:

δ’=α×t×(1+β)

其中,α为平滑系数,t为页面的实际访问时间;

按如下方法计算用户访问时间阈值δ’’

t0为初始的页面访问时间阈值,tnew表示将新页面添加到当前会话或新会话中的访问时间;平均时间t’表达式为:

t’=(t0+tnew)/2

定义调整因子η为:

η=(t’-t0)/t0=(tnew-t0)/2t0

将调整因子适用于所有页面,δ0表示上次调整后的时间阈值,则调整后的用户访问时间阈值δ’’的计算公式为:

δ’’=δ0(1+η)=δ0(tnew+t0)/2t0

按如下权重公式设置页面时间阈值δk

δk=aδ’+(1-a)δ’’

其中,a表示页面访问时间阈值δ’和用户访问时间阈值δ’’之间的权重因子;

计算出页面时间阈值δk后,即可得到更新后的页面时间阈值集合γ

本发明的有益效果是提出了一种基于相邻请求的动态调整时间间隔阈值的会话识别方法,该方法通过结合站点页面因子和用户访问页面时间的平均因子,对时间阈值进行动态调整划分会话,从而可使会话识别的精确率和查全率得到较大的提高。

附图说明

图1是本发明实施例的实现流程图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细说明。

本发明基于动态时间阈值的大数据平台会话识别方法(asessionidentificationalgorithmbasedonthedynamicadjustiveintervaltimethresholdofadjacentrequests,daits),同时考虑页面内容和用户差异性并在两者间加入合适的权重,如图1所示,包括以下步骤:

(1)初始化页面时间阈值集合γ={δ1,δ2,…,δn},δk表示第k个页面的页面时间阈值,k∈{1,2,…,n};

(2)从一用户请求记录的集合h={h1,h2,…,hm}中取出请求记录hi,i∈{1,2,…,m},并判断请求记录hi是否为空,是则从集合h中取出下一请求记录继续进行判断,否则转下一步骤;

(3)判断当前请求记录与前一个请求记录是否属于同一个用户,是则转下一步骤,否则将当前请求记录加入新会话中,并按照用户访问时间阈值的计算公式和设置权重公式更新集合γ,然后返回步骤(2)取出下一请求记录继续进行判断;

(4)计算请求记录hi的访问时间tnew,并判断是否满足访问时间tnewδjδj表示请求记录hi对应当前页面的页面时间阈值,是则将该请求记录加入当前会话sc中并转下一步骤,否则将该请求记录加入新会话sc+1中并更新集合γ,然后返回步骤(2)取出下一请求记录继续进行判断;

(5)如果访问时间tnew满足时间阈值调整的条件,即访问时间tnew超过设定的间隔时间(即找出时间间隔较大的记录),则更新集合γ,然后返回步骤(2)取出下一请求记录继续进行判断,否则直接返回步骤(2)取出下一请求记录继续进行判断。

在本实施例中,按照用户访问时间阈值的计算公式和权重公式更新集合γ的方法为:

按如下方法计算页面访问时间阈值δ’

使用页面的链入数和链出数来衡量页面的重要程度。链接内容比rlcr的计算公式为:

rlcr=(l1+l0)/s

其中,l1表示页面的链入数,即链接到该页面的页面个数,l0表示页面的链出数,即该页面包含的链接个数,s表示页面大小。

一般情况下,一个页面的链入比链出重要,所以对它们赋予不同的权值。因此,将公式调整为:

rlcr=(al1+al0)/(l1+l0)

a1表示链入数的权值,a2表示链出数的权值,a1+a2=1。在本实施例中,a1=0.7,a2=0.3。

为了将rlcr值用于对页面访问时间阈值δ’的调整,需要将rlcr值映射到(0,1)之间,采用下式将rlcr值映射到(0,1):

β=1-exp(rlcr)

其中,βrlcr值对页面访问时间阈值δ’的影响因子。

则页面访问时间阈值δ’为:

δ’=α×t×(1+β)

其中,α为平滑系数,t为页面的实际访问时间。在本实施例中,α取经验值1.2。

由于用户阅读习惯、阅读速度等不同会导致不同的用户访问页面的时间不同。一般来讲,阅读速度慢的用户被识别的会话个数会更多。本发明提出的动态调整时间间隔阈值的方法所设定的时间阈值并不是固定的。对同一用户进行会话识别时,只需要关注那些时间间隔较大的记录。

按如下方法计算用户访问时间阈值δ’’

t0为初始的页面访问时间阈值,tnew表示将新页面添加到当前会话或新会话中的访问时间;平均时间t’表达式为:

t’=(t0+tnew)/2

为了将这种调整同样适用于其他页面,定义调整因子η为:

η=(t’-t0)/t0=(tnew-t0)/2t0

将调整因子适用于所有页面,δ0表示上次调整后的时间阈值,则调整后的用户访问时间阈值δ’’的计算公式为:

δ’’=δ0(1+η)=δ0(tnew+t0)/2t0

当有新的请求记录加入到当前会话中就按照权重公式重新对时间阈值进行调整,按如下权重公式设置页面时间阈值δ

δk=aδ’+(1-a)δ’’

其中,a表示页面访问时间阈值δ’和用户访问时间阈值δ’’之间的权重因子;

计算出页面时间阈值δk后,即可得到更新后的页面时间阈值集合γ

本发明所提出的会话识别方法(daits)在一定程度上提高了会话识别的效率,其核心原理是基于用户相邻请求动态调整时间间隔阈值,能在大数据平台的异常检测分析过程中提供可靠的支撑。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

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