用户行为日志范文

2024-08-04

用户行为日志范文(精选4篇)

用户行为日志 第1篇

随着电力企业信息化水平的不断提升,能源互联网和电力体制改革的不断推进,电力营销系统在企业日常生产中的重要性日益凸显。2015年云南电网推广CSG II营销管理系统,重点包括业扩报装、抄核收、客户服务和用电检查四大功能,覆盖了20个客户全方位服务流程、10类营销客服业务专业、342项协同业务。负责存储和管理云南电网下属供电单位的用户数据、业扩数据、计量数据、计费参数、银电互联、抄表信息、电费台账、账务数据和财务结算等数据。由于系统横向协同关系复杂,涉及与营业厅、自助终端、第三方支付、移动应用等系统的接口,同时还与安全级别程度较高的电网运行系统对接,如调度自动化系统、配电自动化系统、负荷控制系统等。系统用户数量众多,任何一个环节的安全破坏极易导致自身及其他系统的安全相继受损,甚至造成较大的社会影响,因此其安全性十分重要。

目前云南电网营销系统配备了较为完善的安全防护措施,能够抵御常规的攻击,但对于目前流行的APT渗入等攻击方式,以及内部人员恶意行为,缺少快速、及时的发现手段,仅能通过操作日志后期审计发现,效率低、时间长,仅能用于事后追责,无法在初始阶段发现异常并阻断。利用海量用户行为日志分析技术,可以实现用户异常行为的及时检测与报警,管理人员能够快速确认异常,并及时采取措施,能够有效避免严重后果的产生。

1 用户行为分析技术现状

最初的用户行为分析更关注于电子商务平台对用户点击、停留时间等一系列行为的分析,从而分析出用户的兴趣点,并针对性的给出推荐产品,从而提升用户体验和销售额。

在信息安全领域,Malek Ben Salem和Shlomo Hershkop首次利用大量用户行为记录进行数据挖掘从而实现内部威胁检测的方法进行了研究,第一次正式提出了内部威胁,并且将其细化为了Traitor(组织合法成员)和Masquerader(外部伪装的内部成员)两类攻击,并且根据两类攻击者的特点进行了分析,提出了可行的应对建议。[1]。

2013年,美国国际科学应用国际公司SAIC联合美国四家高校联合开发了PRODIGAL[2]系统,专门用于美国敏感部门的内部威胁检测。目前PRODIGAL已经在美国的部分涉密企业实际部署。该产品使用与IT相关的7类111个数据集进行计数与比例作为特征,同时使用人员关系图作为辅助分析,应用指示器、异常和场景三个维度作为异常检测的起点,综合使用了15种机器学习算法实现内部威胁的检测。

随后陆续有研究人员提出基于多域信息融合的内部威胁检测方法[3]、基于用户行为动态变化的内部威胁检测方法[4]等,均在一定程度上降低了误报率。然而仍然存在一定的应用困难,无法形成成熟产品应用于实际企业环境中。

同时,上述研究成果难以直接应用于营销系统用户行为分析当中,主要原因是营销系统记录了用户登录时间、修改数据、功能访问的信息,与现有研究成果中记录用户登录终端、使用Email、浏览网页、使用/连接设备等数据模型差异较大,特征点也存在较大差异。

2 电力营销系统海量用户行为日志分析技术研究

2.1 营销系统日志数据清理与数据提取

(1)系统原始日志结构分析

目前,云电营销系统主要记录有3类日志信息:功能访问日志、系统数据修改日志、系统登录注销日志,分别存放在数据库3个系统表中。

登录日志的信息包括:登录日志标识、人员标识、登录类型、登录账号、用户姓名、登录IP、服务器IP、服务器名称、注销时间、登录时间、失败次数、响应时长等字段。

功能访问日志包括日志记录标识、人员标识、功能菜单标识、菜单名称、访问时间、访问URL、访问IP等。

系统数据修改日志包括记录标识、修改的数据表名、修改的数据记录主键与记录行、修改类型(增、删、改)、修改日期、修改人员标识、修改说明(本条日志的可读概要说明)、时间戳(精确时间)、修改人员访问IP。

三类日志基本上记录了用户在本系统上进行的操作,部分涉及IP的字段也无参考意义,比如服务器IP,在登录时往往由负载均衡分配,并且仅在登录日志中出现,相关用途并不大。

并且这三张日志表对于用户行为来说,是存在依赖关系的,比如数据修改日志一定是和特定的功能调用日志相关联的,而文献[3]提出的多域信息融合方法适用于关联性较弱的领域,如登录、设备、HTTP、Email等,难以直接应用该成果。

根据分析结果,如果需要对某个用户的操作记录进行分析,那有必要将三个记录表合成1份进行分析;而如果需要对系统总体的操作情况进行分析,那么保持操作内容的分离性是十分有必要的。

(2)营销系统日志数据清理

为了去除原始日志中多余的信息,使日志记录更适合于数据挖掘工具分析,并能够同时适用于单用户行为分析和多用户综合操作分析,需要在现有日志中提取关键特征,并根据特征进行日志格式的设计。

我们遵循3W2H原则,设计了who what how where when日志格式,设计有日志记录主键、操作账户、操作、操作细节、源IP、操作时间4个字段。数据库表结构如图1所示。

其中LOGID为本条日志的唯一索引,用于数据库对记录进行管理,实际挖掘中可以去除本属性。

RYBS和DLZH是一个一一对应的字段,DLZH是人可读的账号名称,RYBS是账号表中的主键数字编码,实际挖掘中可以仅使用DLZH,原始日志记录中不仅保存了用户标识,还保存有用户中文名、用户全网统一的用户名(形如xxx@xxx.cn),为了后续便于联合准入系统进行关联分析,DLZH字段保存了用户全网统一的用户名。

ACT字段描述了本条记录的行为,我们设计了营销系统中有Login、Logout、Func Invoke、Add_data、Modify_data、Del_data共6种操作类型,分别代表登录、注销、功能调用、增加数据、修改数据和删除数据,可以用于粗略的行为分析,也可以用于对每一类操作进行过滤,以进行深入挖掘。

Detail字段是ACT字段的详细描述,对于Login、Logout来说没有详细信息,仅重复填充;对于Func Invoke来说,由于原日志中记录的菜单编码、URL和菜单名称均是一一对应的,为保证可读性,Detail字段记录了调用的功能菜单名称;而Add_data、Modify_data、Del_data字段在原始日志中记录的内容包括修改的数据表名以及该条数据的记录主键值,实际应用中单独参考数据主键没有实际意义,而结合实际记录进行分析将给系统带来较大压力,极可能影响系统稳定运行,因此此处Detail字段仅记录修改的表名。

IP字段记录的是该账户进行本次操作的源IP地址。

DLSJ字段记录的是本次操作发生的时间。

(3)数据清理总结

通过上述数据清理工作,将不同类型的日志进行特征提取、日志合并,去除对数据挖掘意义不大或目标不明确的记录字段,形成一个适合进行数据挖掘的日志记录格式,为后续的挖掘工作奠定了基础。

而要想获得良好的数据挖掘结果,成功应用聚类、决策树等挖掘算法,还需要对记录进行分类,针对本项研究内容需要从海里日志记录中提取一定数量的日志样本,对样本中每一个操作记录进行人工分析,标识该记录的异常、正常等,作为挖掘模型的训练数据集,并保留一部分识别出的记录,去除标识字段结果,用于数据挖掘模型测试。

由于时间有限,目前暂未进行上述工作,在后续工作中将开展相关工作。

2.2 电力营销系统用户行为日志分析

分析特征提取与模型设计

(1)账号共享情况检测

通过对账号登录的IP地址进行统计,能够发现多人共用账号的情况,进一步对登录和注销时间内同一账号同一IP的登录注销记录统计,可以发现单机多重登录的情况,便于落实安全管理制度。针对营销系统登录情况,针对同一账号统计登录IP的个数,个数大于1认为账号存在账号共享使用的情况。

(2)账户异常登录情况检测

对账号登录的IP地址进行次数统计,提取出最常登录的3个IP地址,当最常登录的IP地址变化时,结合网络准入系统协同验证,对于未在本人证书插入的终端IP上的登录行为认为是异常。

(3)账号口令破解情况检测

通过检测一个较短时间周期(1小时)内单个IP上登录的账户数量以及不同账号的登录失败次数,其数量显著较高的IP可以怀疑其进行账户口令破解或登录测试。

(4)用户在线与登录情况统计

通过对用户工作时段和非工作时段的登录时长进行统计,分析营销系统各账户每天使用系统的情况,包含单帐户登录时长和总用户在线时长,可以用来识别僵尸账号和时间过长的异常账户。统计一段时间每天(8:00-18:00,18:01-次日7:59)各账户的登录记录,根据记录中的登录时间和注销时间及登录次数计算每个时间区间内的账号在线时长,最后计算总用户在线时长。

(5)用户菜单访问情况统计

通过对账号菜单调用情况进行统计,分析用户访问功能的情况,统计一段时间内(1天或1周)各菜单的调用情况并进行排序,获得该用户最常用的前10个菜单列表,当菜单列表变化时认为用户行为存在改变,需要进一步调查。

(6)用户数据修改情况统计

通过对单个用户的数据修改情况进行统计,分析用户在数据修改方面的情况,统计一段时间内(1天或1周)用户执行新增、修改、删除的数据表名数量,获得该用户最经常增加、修改、删除的前10个数据表,当数据列表变化时认为用户行为存在改变,需要进一步调查。

2.3 检测模型在信息安全统一检索平台的实现

(1)账号共享情况检测及账户异常登录情况检测

通过对每个账户的登录次数进行计数并对每个账户进行聚合,搜索过去110天内所有登录行为日志,同时对总计数情况使用分割条形式的账户字段聚合,利用统一信息安全检索平台中的可视化工具进行绘图,纵轴为登录次数,横轴为登录账户,不同颜色代表登录的IP,如图2所示。可以看出有10个账户涉及账户共享。

(2)账号口令破解情况检测

通过检测一个较短时间周期(1小时)内单个IP上登录的账户数量以及不同账号的登录失败次数,其数量显著较高的IP可以怀疑其进行账户口令破解或登录测试。对总计数情况使用分割条形式的IP字段聚合,利用统一信息安全检索平台中的可视化工具进行绘图,纵轴为登录次数,横轴为IP,不同颜色代表登录的账户,如图3所示。可以看出第二列的IP存在多个账户登录的情况,需要进行深入调查。

(3)用户在线与登录情况统计

通过统计用户登录与在线时长,形成如图4所示的账户在线情况,通过排列趋势的变化发现异常用户使用系统的情况。

(4)用户菜单访问情况统计

用户对菜单的访问情况统计如图5所示,即实际应用中需要跟踪前5个账户的情况。

(5)用户数据修改情况统计

对用户修改数据情况的统计,将新增、修改、删除分别统计,纵轴为修改次数,横轴为用户账户,不同颜色表示修改的数据表名,如图6所示。实际应用中重点关注图中展示的用户名称及其图示的变化情况。

3 结束语

通过对营销系统原始日志进行清理,形成适合数据挖掘的日志格式,并提取了主要安全行为特征,通过一系列挖掘语句和统计聚合函数的应用,形成了可视化的数据挖掘分析图形,对于直观地展示系统安全状态起到了较好的效果,也可以根据安全模型生成安全警报,帮助安全管理人员快速发现隐患并进行处理。

后续可以利用时间序列的数据挖掘方法,对单个用户的行为稳定程度进行分析,设计合理的告警门限,当用户行为发生较大变化时进行提示,便于开展调查,将隐患消除在起始阶段。

参考文献

[1]Malek Ben Salem,Shlomo Hershkop,A Survey of Insider Attack Detection Research[J].Insider Attack and Cyber Security,vol.39,pp.69–90(2008).

[2]Ted E.Senator,Henry G.Goldberg,Alex Memory,etc.Detecting insider threats in a real corporate database of computer usage activity[M].KDD'13 Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining,ACM New York,NY,USA 2013.

[3]H Eldardiry,E Bart,J Liu,J Hanley,Multi-Domain Information Fusion for Insider Threat Detection[J].Security and Privacy Workshops IEEE,May 2013.

在用户行为中寻找灵感 第2篇

让产品融入用户行为

好产品往往能够完美地融入到用户行为中去,并以一种用户能够理解的方式来支持这种行为。那究竟如何把握用户行为、如何以行为为中心展开设计呢?

1.硬件尺度

硬件尺度主要是指人体特征参数,用户和产品通过行为发生关系,落实到产品设计上是使用过程中身体部位与相关操作部位的对应,是人体特征与产品特征的吻合。

人体特征参数包括人体各部分的尺寸、活动半径、肌肉力量、运动形态等静态和动态的参数,是人机工程学最基础和最常用的学科内容。人体特征参数的不同严重影响着人作用于产品的行为方式。

同一款椅子,由于用户人体身高、腿长等特征参数的不同,人的坐姿、坐的时间长短和行为会有很大的变化,针对人体特征参数的不同引起的不同行为在许多设计中都得到了体现,比如可调节座椅的设计,或者软性座椅的设计。

2.软件尺度

软件尺度是指人的情绪因素。情绪与用户使用产品的目的通常没有直接关系,但情绪的变化会影响使用产品时的行为。

人在焦虑的时候,思路会变窄,仅仅集中于问题直接相关的方面,但有时却会有意想不到的结果出现,例如“急中生智”就很形象地描述出情绪对于行为的影响。情绪能控制身体肌肉,通过化学神经递质改变大脑的运行方式,进而影响操作行为。

美观的物品使人感觉良好,这种感觉反过来又使他们更具创造性地思考。但影响人类情绪的因素有很多,包括天气、光线、气温这些自然因素,同样包括音乐等人为因素。有研究人员做过一个试验,在商店中播放不同类型的音乐来调查人们购买红酒的行为变化,结果发现,是否播放音乐或者不同类型的音乐不太会影响人们购买红酒的数量,但是却对购买红酒的品质有较大的影响,特别是当播放爵士乐时,能够为红酒销售创造更多的利润。

3.习惯尺度

很多设计师都有一个理念,那就是认为“用户行为不可逆”,这虽然是一种过于武断和不太正确的理论,但是从另一个方面说明了用户习惯的重要性。

我们现在使用的Qwerty键盘是一个典型的基于用户习惯的设计案例,是劣势产品战胜优势产品的典型代表。最初,打字机的键盘是按照字母顺序排列的,这种全机械结构的打字工具,如果打字速度过快,某些键的组合就很容易出现卡键问题。

美国人肖尔斯将最常用的几个字母安置在相反方向,最大限度放慢了人们的敲键速度,以避免卡键。这种以放慢敲键速度为目的的键盘排列方式却延续至今,最主要的原因还是习惯的力量,对大多数人来讲,重新学习一套规则来提高打字速度没有太多实质性的意义,改革的成本很高。

4.潜意识尺度

潜意识也称无意识,它能对人的性格和行为施加压力和影响,一些看来微不足道的事情,如梦、口误、笔误都是大脑潜在意识决定的。

对于潜意识的认识和其在设计中的应用,是以行为为中心的设计需要重点关注的内容。就如同冰山理论所描述的那样,人类潜在的绝大部分意识对表层的意识和行为产生着影响,同样的,用户的潜在需求和潜意识的行为为产品设计提供了广阔的空间,对人类潜意识行为的关注能够创造看似简单却耐人寻味的产品,从而将人的潜意识认知外在化,引起强烈的认知,这种深层次的、反思的认知能创造深刻和持久的用户体验。

日本设计师深泽直人在演讲《意识的核心》中通过大量产品设计实例分析了产品设计中对于潜意识关注应用所产生的魅力。人们常常会把牛奶盒或水瓶往相似形状的凹槽里放,因为它们形状的吻合激发了人们的潜意识行为。

深泽直人十分崇尚直觉的设计,也就是不需要思考的思想,他认为设计要在无意识中发现灵感,作为设计者,要比非设计人员更多地发现生活中的潜意识行为和需求。当人们被问到需要什么样的设计时,他们往往会说不知道,但是有一天当他们看到某样东西时,却会说“啊,就是这个”,这是因为之前他们的潜意识没有被激发,而设计师就是要挖掘用户的潜意识行为和需求来设计产品。

如何做到以用户行为为中心?

1.理清行为背后的本质需求

理清行为背后的本质需求,往往会产生意想不到的想法,能够极大地扩展设计思路。

我们在对牙刷进行改良设计的时候,一般会从牙刷的形状、材料以及色彩等传统思路去考量,但是我们需要的真的是牙刷这种东西么?我们只是需要某种产品能够让口腔变得干净罢了。当认识到牙刷的本质功能是清洁口腔时,我们会思考“未来的口腔护理是怎样的?”是延续传统的“刷”,还是采取其它行为方式。例如“喷”、“嚼”,这样一来,设计思路就绝不会限制于牙刷这个物体本身,以用户本质需求为导向,基于用户行为,能产生新的解决方式。

2.行为有时候需要适应技术

在以行为为中心的设计中,我们承认必要的时候人类行为需要适应技术,希望产品的设计是为了有效地支持用户的行为,而不是仅仅服从用户的意愿。

人们确实是在适应技术,以行为为中心的设计不仅了解这一点,而且还可以很好地利用这一点。很多时候你必须先学习工具和技术,然后你就会理解所要进行的活动了,比如射击,你必须先理解枪支的结构和特点才能掌握这项运动的精髓,成为一个优秀的射击手。

科学家创造技术,设计师将技术转化为产品,用户适应技术。大部分时候就是这样的一个流程。例如,人从适应用鼠标操控计算机,到适应用手触控操作这种方式,人一直随着技术的发展改变用户行为,很难说触控方式是最好的人机交互方式,未来这种方式仍然会改变,人们将继续去适应技术。

这并不是要否定用户中心的思想,用户行为都是与人有关的,所以那些支持用户行为的系统和技术,通常也能很好地支持从事这些行为的人,因此我们仍然能够利用之前在以用户为中心的设计中积累的知识和经验。

3.用设计引导行为

以用户行为为中心的设计,并不是一定要求设计师观察行为,然后设计产品去迎合人们的行为。虽然大部分情况下如此,但还需要我们在适当的时候、适当的地点通过特定的设计来引导用户行为,以达到某种目的。设计对行为的引导可以是消极的也可以是积极的,这种引导可以从生理和心理两个层面去认识,概括来讲主要包括约束和刺激两种方法。

约束

要避免选择错误,最好的办法就是给用户唯一选择。同样地,要引导用户行为可以通过产品制造约束。如果用户能容易地看出并解释物理结构上的限制性因素,用户在使用之前就知道哪些操作是合理的,那么就可以有效地避免误操作。

比如门把手的设计,如果去掉明显的把手,不提供拉的可能性,那么用户就可以明白这个门是通过推来打开的,当然很多门会写上“推”或“拉”的文字,这同样是帮助人理解的设计,但此时这个门的使用方式需要进行两个层次的理解,就其本身而言并不是一个很好的设计,不仅增加了成本,也增加了用户理解的负担。

nlc202309011108

锁和钥匙的设计目前来讲很混乱,有的锁是顺时针旋转才能打开,有的则是逆时针,单从钥匙的旋转方向来讲就为用户造成了理解上的负担,如果放开约束,用户不论从哪个方向都能打开锁,或者能够让用户明白正确的使用方法,那才是好的设计。

通过约束性的设计来引导用户行为在公共空间设计中非常常见。比如盲道的设计,通过路面的突起为盲人提供一种空间上的约束,良好地引导盲人行走。事实上,很多正常人在特殊情况下也会利用盲道来行走,比如在专心发短信的时候,这也许是一种有意识的行为或者是一种潜意识的行为,设计师如果观察和理解了这一点,也许能创造更多的设计。

公共空间中座椅的设计一直以来就是设计师们关注的话题。大家都会发现,公园或者广场的长椅利用率很低,一般设计为三人或四人使用的长椅经常只有一个人坐在上面,尽管很多人徘徊、找不到座位,他们也不愿意同其他人坐在一起,为什么呢?因为很多人需要私密的空间,他们对陌生人会有本能的排斥,而传统长椅的形式让他们觉得同其他人过于亲密,尽管长椅能够为三到四个人提供足够坐的空间。如果将长椅木条的横向排列改成纵向的,或者仅仅是在长椅上加一些小的隔断,事情就大为改观,同样长度的长椅利用率便会上升。

刺激

前面已经讨论过“美观的物品更好用”,通过产品形态、色彩、材质甚至是声音等来刺激用户,激发思考,从而引导用户行为朝着预定的方向改变。

通过激发用户心理从而改变用户行为的产品历史悠久,风铃便是一个很好的例子。夏天炎热,在没有空调和风扇的日子里。人们因为燥热而变得烦躁,行为上也表现得好动不安,在这种情况下人的工作效率和热情会明显降低,并会导致更多的失误。而小小的风铃,通过轻盈、通透明亮的外观以及悦耳清新的声音使人心绪变得安宁,行为举止也显得优雅从容许多。

日本建筑师坂茂设计的卷筒卫生纸是用设计引导用户行为的一个绝佳例子,它事实上包含着约束和刺激两个层面的引导。这种卷筒卫生纸中间的芯是四角形的,卫生纸因此卷成了类似的方形。若是平常的圆形纸筒,在使用时,只要轻轻一拉,就可以很顺地抽下纸张,而在抽取卷在四角形纸管的卫生纸时,一定会因为产生阻力而发出“喀哒、喀哒”的声音,拉起纸来不是那么畅快。这个设计的特别就在于它造成的不便,四角纸筒产生的阻力以及所发出的并不那么悦耳的声音刺激着用户,引起思考,激发他们潜在的节约资源意识,将用户的行为朝着良性的方向引导。另外,方形纸筒由于节约了纸筒之间的间隙,能有效地降低制造和运输成本。

将卷筒纸的芯改成方形这样一个看似简单的设计改良,能够带来巨大的变化,它深刻地体现着设计师批判性的思考,设计就是具有这种对于生活的批判性,并且这种性质来源于对人类行为的观察和反思。

归根结底,用户和产品的关系是通过行为发生的。一定意义上,设计实际上是行为的设计,当用户的行为反映为对物的支持需要,或者当用户的行为与设计师的意图发生某种程度上的差异时,事实上就构成了人与产品的一种新关系,将这种关系物化的结果就是新设计的出现。

好产品

克莱斯勒300的精细化

克莱斯勒集团耗费了10亿美元研发、改良克莱斯勒300,推出“如意款”,从设计、性能和做工品质方面都试图做到更精细、更不循常规。3.6L Pentar V6搭配ZF 8变速箱,同时将美式粗犷与东方化精细美学巧妙融合,克莱新勒希望借此回归中国高端车市场。

柔软屏幕

LG率先将“塑料电子屏”应用在了电子书上,希望以此颠覆整个电子书设备市场。由于采用了塑料电子墨水基板,所以你可以单手抓握弯曲它,重量仅14克,也只有玻璃基板的二分之一,可弯曲角度提高到了40度,更接近纸张的触感和阅读效果。

手腕上的智能机

我们手上的设备正变得越来越智能化和通用化,比如手表。I’m Watch公司的I’m Color智能手表,可以通过蓝牙连接Android及iOS系统智能手机,在手表上访问社交网站、邮箱、查看天气预报、浏览相册等应用,还能接收短信、接听电话等。

两块屏幕的平板

两块5.5英寸IPS电容触摸屏,每块都可以达到1024×480的分辨率,索尼在Tablet系列平板上尝试异型的翻盖设计,打破了目前Android平板的设计思路局限。索尼Tablet P是目前唯一一款采用折叠式设计的平板电脑,可以最大程度还原笔记本的使用习惯。

用户行为日志 第3篇

1.1 移动互联网时代引入上网日志分析

随着4G时代的来临、智能终端的普及、移动互联业务的快速发展,用户手机上网行为越来越活跃,流量收入在运营商的收入中的占比逐年增多。依靠传统CDR话单分析已无法全面把握用户需求,从海量的日志数据中挖掘用户需求来迎合市场的发展,成为运营商需要迫切解决的问题。

WAP[1]日志中蕴含着大量的用户上网行为信息,包含了用户爱好、需求,可以更好的理解业务价值、客户价值,促进精细化营销,制定相应策略与控制。从而降低流量成本和提升流量收入,促进流量业务发展。

1.2 引入大数据技术处理非结构化数据

WAP日志作为新型数据源引入经营分析系统,使其越来越具备大数据平台的特征,主要包括如下:

(1) 数据规模方面:WAP日志的条数和数据量已经超过了语音详单,且还处在不断增长的趋势。

(2) 数据类型方面:从结构化数据,过渡到结构化数据和互联网网页、上网日志等非结构化数据和半结构化数据共存。

(3) 对数据的使用方面:不仅有批量的数据加工和前台界面的访问,临时统计、数据挖掘等访问需求也逐步增多。对历史明细数据的访问增多。对数据访问的及时性增强。

传统数据仓库基础架构[2]难以满足海量、多样化数据以及高速响应的需求。传统IT系统采用Scale-up设计路线,扩展性较弱,难以处理海量数据;小型机Unix系统的封闭性导致系统扩容时难以利旧,且拥有成本高[3]。为此,我们引入了大数据技术。

2 需求分析

2.1 主要业务需求

(1) 数据源:

用户上网WAP日志,每天200G。

(2) 数据处理需求:

1数据存储前客户隐私数据加密;

2 ETL处理;

3用户上网时间特征分析;

4热门网站分析;

5用户内容偏好分析;

6热点内容跟踪;

7热点搜索内容分析;

8访问内容分类流量监控。

2.2 系统能力配置

(1) 服务器:13台HP DL585;

(2) 配置:CPU cpu:2*4核;内存32G;硬盘4T;千兆电口4个。

3 方案选择

为了应对大数据时代业务需求的挑战,行业内涌现出大量的大数据技术及解决方案。主要包括HDFS[4]、Map/Reduce[5]、Spark[6]等。

一个HDFS集群由元数据节点(Name Node[7])、多个数据节(Data Node[8])点、客户端(Client)构成。数据被分割成特定大小的块存储其中。

Namenode用来维护文件系统所有的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。Datanode根据Client或者是Namenode的调度存储和检索数据,并且定期向Namenode发送他们所存储的块(block)的列表。HDFS采用可扩展的系统结构,利用多台服务器并行计算,提供高吞吐量的应用程序数据访问,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

Map/Reduce是Google发明的一种编程模型。用户通过定义一个map函数和一个reduce函数来解决问题。map函数对用户输入的键/值对(key/value pair)进行处理,生成一系列新的键/值对作为中间结果;shffle过程将同属于一个键(key)的值(value)组合在一起,生成键/值列表((key/list of values) pair)对;reduce函数将键/值列表对作为输入,对同属于一个键的值列表进行处理,生成最终处理结果输出。

Spark是由UC伯克利大学的AMPLab发起构建的一个开源的用于数据分析的分布式并行计算框架,其核心是弹性分布式数据集RDD[9],RDD可以Cache到内存中,每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了Map Reduce大量的磁盘IO操作。Spark除拥有Hadoop Map Reduce所具有的优点之外,还提供了更加丰富的模型,可以快速在内存中对数据集进行多次迭代,以支持复杂的数据挖掘算法和图形计算[10,11,12,13,14,15,16,17]。

综合考虑到成本、效率、可扩展性等因素,我们选择了HDFS作为底层文件系统,Map/Reduce、Spark作为计算架构来实现项目需求。

4 总体架构设计

系统整体的体系架构,如图4。

4.1 数据采集层

数据采集:主要功能是通过FTP方式,采集WAP网关服务器上的数据文件和消息到接口服务器的内存中。每一分钟进行一次采集,并保留一周存储时间。然后将按照校验规则对采集到的数据做文件数据内容校验,并按协议做目标文件输出的分类、最后将小文件合并成大文件输出文件,消息缓存输出。处理完成后,推送到Hadoop集群上。

4.2 数据处理层

数据处理分为预处理层、计算与存储层、数据管理层。

4.2.1 预处理

(1) 实例库匹配

将用户访问URL与已经积累过的URL库进行匹配,如果库中已经存在,则直接输出网页分类结果。如果库中没有该URL,则爬去网页内容进行语义解析和分类。

(2) 网页解析

包括:网页爬取、信息抽取、网页分类,根据分类信息进行字段增强、规则分类、实例分类、关键字输出。

(3) 实例库更新

实例库更新用于将网页解析模块获取的URL分类信息更新到实例库以供内容识别使用。实例库更新模块自动扫描爬虫程序输出的爬取结果清单,确定清单中所有条目的Json字段非空后,批量更新至URL实例库。

4.2.2 计算与存储

提供批处理和实时处理平台,实现数据批量和实时计算。基于SPARK实现了6个模型计算。

(1) 用户上网时间特征分析

用户上网时间特征分析是指根据用户的上网时间特征分析来分析用户的上网习惯,为营销时机的抓取提供信息支撑。

(2) 热门网站分析

热门网站分析主要利用用户WAP标签信息,按照一定稳定周期(如周、月等)统计用户点击量占比多的网站,进行热点跟踪。输出信息包括热点网站URL,热点网站的类别,热点网站关键词,相应的用户群体等信息。

其中用户号码也可单独建表存放,在有应用需求的时候通过表关联的方式获取整体输出。

(3) 用户内容偏好分析

用户内容偏好分析是指根据用户标签信息,按照加权汇总的方式,分析得到用户的类别需求偏好,包括用户偏好的网站,偏好的类别信息。

具体热门关键词、喜好、分类偏好保存个数,可根据实际情况进行调整。

(4) 热点内容跟踪

热点内容跟踪是指根据一定时间段内用户访问URL的KEYWORD,分析出当下热点信息。

(5) 内容偏好类别分析

内容偏好类别分析基于对用户内容偏好种类、偏好用户占比、产生的流量等信息进行汇总,汇总后数据支撑流量经营应用。

(6) 热点搜索内容分析

热点搜索内容分析基于对热点内容跟踪、WAP日志汇总,汇总后数据支撑流量经营应用。

4.2.3数据管理层

为了整体功能能够安全、稳定、准确的运行,系统提供安全管理、数据质量管理、元数据管理、处理流程管理、调度任务管理、任务监控管理等功能。

安全管理包括对敏感数据的加密保护、用户权限分配和鉴权、日志安全审计三个方面。

数据质量管理包括对用户包括变更协同管理、数据质量监控评估、问题处理及数据质量报告管理等功能。

元数据管理参考经营分析系统元数据管理体系,保持与经营分析系统元数据管理的一致。

处理流程管理包括对ETL处理流程中的监控、调度和日志记录等功能。

调度任务管理针对并发作业、高负载作业的特点,实现多任务的配置、调度或回退等管理。

任务监控管理对于流程中的任务执行节点,可以单独设置其发生异常后的重试频率和次数,当达到最大次数依然失败后,将当前流程挂起并停止运行。

系统监控管理主要对系统进程进行跟踪和监控,确保系统稳定运行。

4.3 服务层

面向WAP日志查询、流量经营监控与分析和一经交互应用,实现相关功能的共享和复用,为内部模块和外部系统提供调用。

同时,通过数据处理层支撑, 提供用户上网时间特征分析、热门网站分析、用户偏好分析、流量关键字统计、价值评估、流量关键字目标客户群提取等。

5 资源分配、参数配置

5.1 硬件配置

5.2 软件参数配置(调优部分)

6 总结

随着移动互联网的迅猛发展,特别是智能终端的大量普及,造成运营商的互联网的非结构化数据数据指数级的递增。日处理数据从几百GB到1TB不等。

本方案采用大数据最新技术Spark计算框架,通过低成本、高效率的解决WAP日志存储和处理等相关业务问题,以逐步改善现有IT架构的局限性,应对竞争日益激烈的市场环境。基于Spark内存计算框架技术,实现的模型包括:用户上网时间特征分析、热门网站分析、用户上网时段分析、用户内容偏好分析、热点内容跟踪、内容偏好类别分析等6个模型。

用户行为日志 第4篇

在Internet电子商务网站中,客户浏览信息被Web服务器自动收集,并保存在访问日志、引用日志和代理日志中。有效地对这些Web日志进行定量分析,揭示用户兴趣路径等,不但可以为优化Web站点的拓扑结构提供参考,而且还可以为企业制定更有效的市场营销策略提供依据,使其及时改进决策,获得更大的竞争优势。

目前,Web日志的挖掘研究主要集中在用户浏览模式的获取上,算法有Apriori算法,最大向前序列法[1],参考长度法[2]和树形拓扑结构法等。它们先将日志中的用户浏览历史记录转换成一个浏览子序列集:最大向前序列法根据用户折返的特性形成若干浏览子序列;参考长度法根据用户在网页上停留的时间形成若干个浏览子序列;树形拓扑结构法则把整个日志当作浏览子序列。然后利用关联规则法对浏览子序列进行挖掘找出频繁访问路径。以上算法单纯地考虑了浏览频度,简单地认为用户的浏览频度就反应了用户的访问兴趣,这很不精确。网页浏览频度的影响因素有很多,其中的页面放置位置和其它页面对该页面的链接都起着非常重要的作用。

但其中个性较为鲜明的是利用矩阵进行运算发掘,矩阵不仅能准确表示Web站点有向图,而且能有效存储用户访问信息,矩阵可以进行压缩,节约大量空间和时间。在Apriori算法中,把所有的项集元素在每个事务中作统计和筛选,所以耗时很多,但结果精确。

考虑了以上算法的优点,有必要提出一种可正确挖掘不同用户浏览兴趣路径的算法。即考虑了算法的快速性,又考虑了发掘结果的准确性。

2 基础概念

定义1:访问频度

在所有会话中,由页面Pi直接进入Pj的次数总和。

定义2:连接强度

在所有会话中,由页面Pi直接进入Pj的次数总和。

定义3:会话

用户会话(User Session)S是一个二元组,其中userid是会话标识,RS是用户在一段时间内请求的Web页面的集合。

定义4:会话矩阵

以URL为行,会话标识为列便得到会话矩阵M。

undefined

其中,aij是j次会话中客户访问第i个URL的次数;每一行向量M[i,·]表示所有会话中页面a的访问情况;每一列向量M[·,j]表示客户j对站点中的所有的页面访问情况,因此行向量既代表了站点的结构,又蕴涵客户共同的访问模式;而列向量既代表了客户类型,也构勒出客户的个性化访问子图,那么度量行向量相似性,就能得到相关Web页面,进一步分析还能获得客户访问模式,即频繁访问路径。

定义5:遍历矩阵

Web站点访问可以表示成如下形式的矩阵:以URL为行,以URL_R为列,建立URL_R-URL矩阵。元素值为支持度S,即路径(引用页->访问页面)访问的频度。在矩阵的首行首列都要添一个空(NULL)值,在行向量里出现表示用户不通过网页链接而是通过直接输入URL、用书签来访问或从其它网站链接进入目的网页;在列向量里出现表示用户在此页结束浏览或链接到其它网站网页。如果网站有m个URL,那么矩阵是(m+1)方阵。如此建立的矩阵我们称作遍历矩阵。

该矩阵有以下特点:

(1)矩阵的对角元素值为0(网页个体不可作为自身的引用页)。

(2)矩阵K行值总和等于K列值总和undefined,0≤k≤n (进出平衡)。

定义6:页面距离

从会话矩阵中抽取两行X,Y。其中若Xi >0,令Xi =1,若Yi >0,令Yi =1,得到由0,1组成的向量X,Y。

那么,X, Y间的页面间距离Hd(X,Y)=undefined(xi-yi)(Xi =1时) 。

定义7:选择偏爱度[3]:

设U是网站中所有URL的集合,W是所有浏览子路径的集合。如果存在w⊂W,对于∀x∈w(x是∀u∈U 组成的浏览页面序列,称其中第i个浏览页面为第i位),它们的前m位都相同,而m+1位有n种不同的浏览页面,则称在m位上有n种不同的选择,每种选择的平均访问度

undefined(undefinedSi)/n

其中,Si表示第i种选择的支持度,即用户通过第i种选择进入下一个页面的频度。其中第k(k=1,2,…,n)种选择的选择偏爱度(preference)可定义为

undefined

在挖掘浏览偏爱路径时不仅要考虑偏爱性而且要考虑支持率,我们将二者结合起来进行挖掘。

定义8:支持—偏爱度

假设在定义7中的某种选择的支持度是S,而它的选择偏爱度为P。那么,将它的支持—偏爱度定义为

Ps=(S×P)

在应用支持—偏爱度概念进行挖掘时必须正确地确定阈值的大小,如果阈值定的过高则会丢失一些重要规则,相反,将阈值定义的较小则会产生一些冗余规则,系统运行效率低。

3 用户访问模式挖掘算法实现

参照定义4,我们建立会话矩阵如下:

以URL为行,会话标识为列组成会话sessionMatrix[][],其中sessionMatrix[i][j]是会话j 中访问第i个URL的次数。行向量sessionMatrix[i][]表示所有会话对页面i的访问情况,列向量sessionMatrix[][j]表示会话j对所有页面的访问情况。会话矩阵只是反映了会话的页面访问情况,并不反映访问次序。为弥补这一不足,我们参照定义5建立遍历矩阵如下:以0和所有URL 标 识 为 行,以0和所有 URL标 识 为 列 建 立 矩 阵traceMatrix[][],traceMatrix[i][j]表示所有会话中,由页面 i直接进入页面j 的次数总和。首行表示用户不通过网页链接而是通过直接输入URL,用书签访问或从其他网站进入目的网页,一般表示会话开始。首列表示用户在此页结束浏览或链接到其它网站网页,一般表示会话结束。由上面所述可知,遍历矩阵和会话矩阵所占用的空间与 URL数目成平方关系,若URL 数目很多,几万到几十万,会造成矩阵十分庞大,而每次会话访问的页面不过几十个,造成矩阵中大多数元素为0,属于典型的稀疏矩阵。这里采用了压缩算法来存储矩阵。 用三元组表示法存储所有的非0值。为表达方便,算法描述清晰,下面描述中暂且不考虑矩阵的存储结构。

3.1 相似客户群体访问页面聚类算法

在本算法中,采用访问频度阈值sum_threshold和距离阈值distance_threshold对页面进行初步筛选。根据指定的访问频度阈值sum_threshold,我们筛选出频繁访问的页面到Frequent_set1中,然后在Frequent_set1中把页面距离低于distance_threshold的页面聚合在一起。

页面聚类算法描述:

算法1:相似客户群体相关页面聚类

3.2 频繁路径的挖掘算法

在得到相关页面集合sub_Set后,就要进行路径挖掘工作。假设sub_Set={page_1, page_2,…,page_m},我们从遍历矩阵traceMatrix中抽取page_1,page_2,…, page_m对应的行和列,组成新的遍历矩阵Mm+1,m+1,在M中找出所有的M[i][j]>=Ps_threshold 项(Ps_threshold为支持-偏爱度阈值),若M[i][j]>=Ps_threshold,则认为(page_i, page_j)为频繁路径,我们即得到频繁路径二项集,通过对二项集的合并得到三项集,直到不能合并为止,这样我们便得到了所有的频繁路径。

算法2:频繁路径挖掘

4 结束语

算法中发现偏爱子路径的时间复杂度是O(m+1)2),合并偏爱子路径的时间复杂度是O((m-2)(m+1)2)。总的时间复杂度是O((m+1)3),m是网站中的URL数目。

上一篇:污染情况下一篇:标准化良好行为