一种用户行为特征的分析方法及装置与流程

文档序号:12470121阅读:244来源:国知局
一种用户行为特征的分析方法及装置与流程

本发明涉及计算机领域,尤其涉及一种用户行为特征的分析方法及装置。



背景技术:

网格环境通过整合、管理和调度分布式的异构计算资源,使其形成一个虚拟的计算集群,可提高高性能计算资源利用效率、提高用户服务可靠性的目标。

中国科学院超级计算环境是一种三层架构网格计算环境,采用科学计算网格软件SCE为用户提供优质的高性能计算服务。SCE软件是一种网格中间件,用户可以通过该SCE软件来使用整个网格环境中的所有资源。SCE软件有互联网入口Portal和命令行两种使用方式,通过SCE软件可以完成作业的提交、修改、查询、下载结果文件等工作。SCE中间件可以产生SCE日志文件,用于记录用户在超级计算环境中的各种操作。也就是说,在超级计算环境下,会生成系统日志和SCE日志。

然而,现有技术仅对在超级计算环境下产生的系统日志进行分析,使获取的用户行为特征不准确,并且为了分析网格环境中所有用户行为的特征,必须先观测过去一个或几个阶段的所有用户日志。使分析这样一个超大规模的日志记录,成为一个较复杂,耗时较长的工作。



技术实现要素:

网格环境日志分析框架(英文:log analyzing framework in grid environment,LARGE)系统作为超级计算环境的日志分析系统,通过对SCE日志的解析、结构重组和统计分析来获取用户的行为特征,从而提高用户体验。

第一方面,提供了一种用户行为特征的分析方法,该方法应用在超级计算环境中,该方法包括:采集日志文件,并对日志文件进行解析,获取日志数据,之后根据日志数据的信息,对日志数据进行结构重组,获取重组日志数据,再根据重组日志数据,获取用户行为特征,从而反馈用户行为特征。

在一种可选的实现中,根据日志数据的信息,对日志数据进行结构重组,获取重组日志数据,具体为:根据日志数据的信息,对日志数据以用户的会话为单位进行结构重组,获取重组日志数据。

在一种可选的实现中,重组日志数据具有三级结构,其中,三级结构包括数据级、会话级和单次操作级。

在一种可选的实现中,在获取用户行为特征之前,该方法还包括:根据重组日志数据,提取用户会话频度的特征值;根据特征值,获取用户行为特征。

在一种可选的实现中,该特征值包括:用户每天会话数相关的第一特征值、用户实际登录天数与总天数相关的第二特征值和用户实际登录跨度与总天数相关的第三特征值。

另一方面,提供了一种用户行为特征的分析装置,该装置应用在超级计算环境中,该装置包括:采集单元、解析单元、获取单元和反馈单元。其中,采集单元用于采集日志文件。解析单元用于对采集单元采集到的日志文件进行解析,获取日志数据。结构重组单元用于根据解析单元获取的日志数据的信息,对日志数据进行结构重组,获取重组日志数据。获取单元用于根据结构重组单元得到的重组日志数据,获取用户行为特征。反馈单元用于反馈用户行为特征。

在一种可选的实现中,结构重组单元具体用于:根据日志数据的信息,对日志数据以用户的会话为单位进行结构重组,获取重组日志数据。

在一种可选的实现中,结构重组单元获取的重组日志数据具有三级结构,其中,三级结构包括数据级、会话级和单次操作级。

在一种可选的实现中,该装置还包括:提取单元。提取单元用于根据所述重组日志数据,提取用户会话频度的特征值。获取单元根据特征值,获取用户行为特征。

在一种可选的实现中,提取单元提取的特征值包括:用户每天会话数相关的第一特征值、用户实际登录天数与总天数相关的第二特征值和用户实际登录跨度与总天数相关的第三特征值。

在一种可选的实现中,该装置还可以包括存储单元用于存储上述单元的使用的应用程序和数据。

LARGE通过对SCE日志进行解析重构,可以对超级计算环境用户的行为特征进行分析,帮助服务提供者更有针对性的改善服务质量

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的网格环境日志分析框架系统结构示意图;

图2为本发明实施例提供的用户行为特征的分析方法的流程图;

图3为本发明实施例提供的重组日志数据的结构示意图;

图4为本发明实施例提供的一种用户行为特征的分析装置。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明提供的用户特征的分析方法应用于图1所示的LARGE系统中。LARGE系统是部署在超级计算环境中的日志处理分析系统,通过对计算集群的日志进行收集、整理、分析,得到各种结果,从而帮助系统维护人员监控系统状况,发现运行错误或用户的不当操作,改进服务质量。

在图1中,LARGE系统100可以包括日志采集模块110、日志分析模块120和结果反馈模块130。

日志采集模块110,用于将网格环境内生成的所有日志传输到日志分析模块的设备上。日志采集模块110可以是适用于任何合适的数据采集方式,例如脸书网Facebook的Scribe系统,也可以是Cloudera提供的Flume系统。

日志分析模块120,用于对采集到的日志进行日志筛选分类与预处理、解析重构、统计信息和应用分析等处理,生成分析结果。日志分析模块120可以是适用于任何合适的数据分析方式,例如Hadoop项目开源分布式系统中的数据收集分析系统Chukwa。

日志分析模块130,用于将日志分析模块120生成的分析结果整理成更有助于相关人员理解的相关报告、可视化图表或相应显示程序,或者将分析结果制定针对某种模式日志的响应规则,例如发送警报邮件或自动执行响应程序。

根据超级计算环境中的两种不同类型的系统日志和SCE日志,LARGE系统提供了用户特征的分析方法。下面以解析SCE日志为例进行说明。

其中,SCE日志是由SCE软件产生的日志,记录了用户在超级计算环境中的操作,SCE日志分为记录集群作业信息和命令行用户操作的SCE日志和记录用户通过网页提交和管理计算作业的操作的Portal日志。通过对SCE日志进行统计分析,我们可以获取环境用户的各种行为特征,这些特征包括:用户的使用习惯、使用频度、对SCE命令的使用情况等等,以便于更有针对性的与用户交流,从而对不用类型的用户采用更适合的服务策略,以及发现超级计算环境中可能存在的缺陷和不足,从而提升超级计算环境的整体服务质量。

图2为本发明实施例提供的用户特征的分析方法的流程图。在超级计算环境中,该方法的执行主体可以是LARGE系统,如图2所示,该方法包括:

步骤210、采集日志文件。

LARGE系统对超级计算环境内所有设备产生的日志文件进行采集,其中,采集到的日志文件可以是不同/相同类型,不同/相同内容,日志文件可以包括系统日志和SCE日志。

步骤220、对日志文件进行解析,获取日志数据。

LARGE系统对采集到的日志文件进行解析,解析出日志文件的属性信息,获取日志数据。

SCE日志的属性信息可以包括日志产生的时间、主机、用户名、源IP、操作所属会话的编号、操作类型和各种操作参数等必要信息,每段信息可以由空格或自定义的分隔符隔开,以方便抽取各段信息并重组为结构化的数据,来获取日志数据。例如,SCE日志的形式如下:

“日志时间|主机|日志类型|会话ID|用户名|源IP|操作ID|操作类型|操作编码|操作参数”

需要说明的是,由于SCE日志中的集群作业信息与命令行用户操作的中间件日志,和记录用户通过网页提交和管理计算作业的操作的Portal日志的内容特征一致,因此二者可以使用相同的处理步骤和分析方法,其中内容特征一致可以理解为二者格式固定、内容紧凑,且易于被计算机读取。

步骤230、根据日志数据的信息,对日志数据进行结构重组,获取重组日志数据。

具体的,LARGE系统根据日志数据的信息,可以对日志数据以用户的会话为单位进行结构重组,获取重组日志数据。重组日志数据可以具有数据级、会话级和单次操作级的三级结构。

LARGE系统将所有用户的会话数据信息,如用户名,会话次数,操作等信息存储在数据级中。会话是完整操作的一个过程(由开始操作到结束操作的过程),LARGE系统按照用户名将用户的会话进行分类,将分类后的用户会话信息存储在会话级中,之后以会话为单位将操作进行分类,获取该会话中每个单次操作存储在单次操作级,以便对每次会话的每个单次操作进行解析。

如图3所示,该重组日志数据具有数据级-会话级-单次操作级的三级结构,其中,数据级包括用户A和用户B两个用户,共实现3次的会话,和3此会话中用户A和用户B的所有操作,操作可以是查询操作和退出操作。会话级将按照用户名将用户的会话进行分类,如将用户A按照用户名为单位分为:用户A-会话1-查询操作,退出操作、用户A-会话2-退出操作和用户B-会话3-查询操作,退出操作。再以会话为单位将操作进行分类,获取该会话中每个单次操作存储在单次操作级,以会话为单位分为:用户A-会话1-查询操作、用户A-会话1-退出操作和用户A-会话2-退出操作,将用户B按照会话为单位分为:用户B-会话3-查询操作和用户B-会话3-退出操作。

LARGE系统以用户的会话为单位对日志数据进行结构重组,由于同一会话的日志数据在会话ID、主机地址、用户名和IP等信息的值都相同,LARGE系统以用户的会话为单位对日志数据进行结构重组,即以会话设为独立结构有助于减少数据存储量,并且有利于以会话为依托对用户操作习惯进行统计和分析。

步骤240、根据重组日志数据,获取用户行为特征。

通过对重组日志数据进行抽取,LARGE系统可以以用户名为类别进行整合和标注相关信息,由此可以获取用户行为特征,即关于用户使用状况的基本统计结果。其中,用户行为特征是指对在某个时间阶段内单个或多个用户所体现出的行为规律形成概括和总结,分析用户行为特征有助于了解用户的使用习惯、理解用户需求和发现用户服务中的缺陷。

可选地,在获取用户行为特征之前,LARGE系统可以根据重组日志数据,提取用户会话频度的特征值,再根据该特征值,获取用户行为特征,对用户进行分类。

具体的,LARGE系统根据重组日志数据信息,将能够反映用户会话频度的一些特征值提取出来,使用聚类算法对用户进行分类。其中,用户会话的频度是指在某一时间段内用户连接到超级计算环境,发起一个会话的次数。需要说明的是,用户的会话频度在很大程度上反映了用户对于环境计算资源的需求,而根据用户不同程度的需求服务方可以相应提供不同的服务策略。

进一步的,用户会话频度的特征值可以包括:用户每天会话数相关的第一特征值、用户实际登录天数与总天数相关的第二特征值和用户实际登录跨度与总天数相关的第三特征值。根据每个用户3个特征值的大小,LARGE系统可以通过使用聚类算法,获取相应用户的行为特征,从而对相应用户进行分类。其中,聚类算法属于现有技术,在此不做赘述。

在一个例子中,LARGE系统要分析时间段P内超级计算用户的使用频度,P内总天数为NP,用户集{U1,U2,…,Un},总数为n,则每个用户在时间段P内的会话数为S1,S2,…,Sn,以及用户u(u{x|1≤x≤n})每天具体的会话数Su1,Su2,…,SuNP。由于用户并非每天都会登录超级计算环境进行计算,我们还需统计每个用户的实际使用天数NA1,NA2,…,NAn,以及用户实际登录时间的跨度(即P期间内用户第一个会话到最后一个会话所占的天数)ND1,ND2,…,NDn

对于一个用户u,可以获取以下3个特征值:LARGE系统对用户每天发起会话数的平均值、用户每天发起会话数均值的标准差、用户实际登录时每天发起会话的平均值和用户实际登录时每天会话均值的标准差进行函数映射,获取到第一特征值为:

LARGE系统根据用户实际登录天数与总天数的比值,获取到第二特征值为RA=NAu/NP

LARGE系统根据用户实际登录跨度与总天数的比值,获取到第三特征值为RD=NDu/NP

若第一类用户的平均每天发起的会话最多,跨度最长,则表示第一类用户是超级计算环境中的持续型用户,对计算资源的需求量相对较高。若第二类用户的平均每天的会话数则较少,跨度与第一类用户相同,则表示第二类用户是超级计算环境中的持续型用户,但对计算资源的需求量一般。若第三类用户平均每天会话数与第二类用户接近,但实际登录天数较少,则表示该类用户对计算资源的需求量没有持续性的需求。若第四类用户登录天数最少,则表示这类用户不是超级计算环境中的固定用户。

可以理解的,利用LARGE系统的上述分析方法,对用户进行分类后可以对用户提供针对性服务。例如对于第一类用户优先提供计算资源,以及向第四类用户回访征询超级计算环境有哪些问题需要改进等等。

步骤250、反馈用户行为特征。

LARGE系统将获取的用户行为特征可以以相关报告、可视化图表或显示程序的形式展现给相关人员,或者LARGE系统将获取的用户行为特征可以制定针对某种模式日志的警报邮件或自动执行响应程序告知相关人员,相关人员可以从反馈的用户行为特征中,可以分析出用户对于命令的使用状态,确认用户操作的正确性或检测系统关于用户行为记录的一致性。

对于分析出用户对于命令的使用状态。用户可以以输入命令的方式向LARGE系统提交、查询作业和下载反馈结果。从反馈结果中分析用户对于各种命令的使用状况,从而可以更好地查看命令本身的编写和执行效果是否令用户满意,以及用户对各命令是否有所了解等。

对于确认用户操作的正确性。用户在超级计算环境内的活动是围绕计算作业进行的,计算作业可以包括提交、查看、删除和下载结果等行为。其中,提交作业命令(bsub)是超级计算环境内用户的核心操作。LARGE系统将用户会话内所有操作以bsub命令为界分隔成若干命令串,然后在反馈结果中统计每个命令在用户命令串出现的比例。当用户在提交作业之前缺少某些重要步骤(如SCE日志输出命令sceput)时,从反馈结果中可以查看到作业提交不正确或计算结果不正确的信息。以便于与该用户进行进一步的沟通和指导。

对于检测系统关于用户行为记录的一致性。SCE日志除了用户操作记录外,还包括系统分配作业的记录,在LARGE系统正常运行的情况下,这两种记录是按照会话ID互相匹配。同一会话中两类日志记录是一致的,因此,LARGE系统通过检测这两类日志记录的一致性,可以发现SCE软件是否正常运行,或者SCE日志的记录是否正常运行。

对于校验两类记录时,出现的会话ID不一致的情况,需要相应修改用户操作记录的程序,或修正系统不正确记录。

本发明提供的用户行为特征的分析方法,通过采集日志文件,之后对日志文件进行解析,获取日志数据,并根据日志数据的信息,对日志数据进行结构重组,获取重组日志数据,最后根据重组日志数据,获取用户行为特征,从而向相关人员反馈用户行为特征,帮助服务提供者更有针对性的改善服务质量。

与上述方法对应的,本发明实施例提供了一种用户行为特征的分析装置,如图4所示,该装置包括:采集单元410、解析单元420、结构重组单元430、获取单元440和反馈单元450。

采集单元410用于采集日志文件。

解析单元420用于对采集单元采集到的日志文件进行解析,获取日志数据。

结构重组单元430用于根据解析单元获取的所述日志数据的信息,对日志数据进行结构重组,获取重组日志数据。

具体的,结构重组单元430根据日志数据的信息,对日志数据以用户的会话为单位进行结构重组,获取重组日志数据。

其中,重组日志数据具有三级结构,其中,三级结构包括数据级、会话级和单次操作级。

获取单元440,用于根据结构重组单元得到的重组日志数据,获取用户行为特征。

可选地,该分析装置还可以包括:提取单元460。提取单元460用于根据重组日志数据,提取用户会话频度的特征值,以便获取单元440根据特征值,获取用户行为特征。

该特征值包括:用户每天会话数相关的第一特征值、用户实际登录天数与总天数相关的第二特征值和用户实际登录跨度与总天数相关的第三特征值。

反馈单元450用于反馈用户行为特征。

可选地,该装置还可以包括:存储单元470,用于存储上述单元的使用的应用程序和数据。

本发明实施例装置的各功能模块的功能,可以通过上述分析方法实施例的各步骤来实现,因此,本发明提供的装置的具体工作过程,在此不复赘述。

本发明提供的用户行为特征的分析装置,通过对SCE日志的解析、结构重组和统计分析来获取用户的行为特征,帮助服务提供者更有针对性的改善服务质量。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器、闪存、只读存储器、可擦除可编程只读寄存器(英文:erasable programmable read-only memory,EPROM)存储器、电可擦可编程只读存储器存储器(英文:electrically erasable programmable read-only memory,EEPROM)、硬盘、只读光盘(英文:compact disc read-only memory,CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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