用于分析用户行为的方法和设备的制造方法

文档序号:10534842阅读:443来源:国知局
用于分析用户行为的方法和设备的制造方法
【专利摘要】本发明的实施例涉及用于分析用户行为的方法和设备。该方法包括:根据用户行为记录中的动作标识来生成动作序列;基于动作序列确定公共子序列,该公共子序列是对于动作序列中的至少两个动作序列公共的子序列;以及基于公共子序列构建序列模式。
【专利说明】
用于分析用户行为的方法和设备
技术领域
[0001] 本发明的实施例总体上涉及数据处理,并且更具体地,涉及用于分析用户行为的 方法和设备。
【背景技术】
[0002] 在数据处理领域,关于用户行为的研究得到越来越多的关注。用户行为可以包括 用户访问应用、浏览网页等过程中所执行的各种动作和/或操作。例如,对于诸如软件即服 务(Software-as-a_Service,SaaS)之类的基于网络/移动提供应用的架构而言,通过分析 用户行为可以更便捷和准确地确定用户的偏好,从而高效地为用户服务。
[0003] 基于网络/移动的应用可能包括多种服务。用户界面设计者在为基于网络/移动 的应用设计界面时,通常考虑的主要是服务的功能性,而不是个体用户需求。对于个体用户 而言,很可能需要花费大量时间或精力来查找所需的应用或服务,这显著降低了用户体验。
[0004] 因此,在现有技术中的在用户体验方面存在着有待改进的问题和缺陷。

【发明内容】

[0005] 鉴于上述以及其他潜在问题,本领域中需要一种分析用户行为以改善用户体验的 方案。根据本发明的实施例,基于对用户行为的分析,可以为用户提供更有针对性的服务或 应用,从而可以有效改善用户体验。
[0006] 在本发明的一个方面,提供一种用于分析用户行为的方法,该方法包括:根据用户 行为记录中的动作标识来生成动作序列;基于动作序列确定公共子序列,其中公共子序列 是对于动作序列中的至少两个动作序列公共的子序列;以及基于公共子序列构建序列模 式。
[0007] 根据本发明的另一方面,提供一种用于分析用户行为的设备。设备包括:生成单 元,被配置为根据用户行为记录中的动作标识来生成动作序列;确定单元,被配置为基于动 作序列确定公共子序列,其中公共子序列是对于动作序列中的至少两个动作序列公共的子 序列;以及构建单元,被配置为基于公共子序列构建序列模式。
[0008] 通过下文描述将会理解,根据本发明的实施例,可以根据用户行为记录来构建关 于用户所执行动作的序列模式,从而可以为用户提供更有针对性的服务或应用。具体而言, 与现有技术相比,本发明的实施例可以便于用户定制个性化主页,可以促进测试用例的实 现,还可以优化用户界面的设计。此外,本发明的实施例能够自动分析出耗时的动作并对其 进行预处理,从而提高了系统响应速度,有效改善了用户体验。另外,本发明的实施例还可 以对于不安全的用户行为进行预警,从而可以提高系统的稳定性和可靠性。
【附图说明】
[0009] 通过参考附图阅读下文的详细描述,本发明实施例的上述以及其他目的、特征和 优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施例, 其中:
[0010] 图1示出了根据本发明一个示例性实施例的用于分析用户行为的系统的框图;
[0011] 图2示出了根据本发明一个示例性实施例的用于分析用户行为的方法的流程图;
[0012] 图3示出了根据本发明另一个示例性实施例的用于分析用户行为的方法的流程 图;
[0013] 图4示出了根据本发明一个示例性实施例的用于分析用户行为的设备的框图;以 及
[0014] 图5示出了可与本发明的示例性实施例结合使用的计算机系统的框图。
[0015] 在各个附图中,相同或对应的标号表相同或对应的部分。
【具体实施方式】
[0016] 下面将参考附图中示出的若干示例性实施例来描述本发明的原理和精神。给出这 些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方 式限制本发明的范围。
[0017] 首先参考图1,其示出了根据本发明一个示例性实施例的用于分析用户行为的系 统100的框图。
[0018] 如图1所示,在系统100中包括用户行为记录111和112、根据本发明的实施例的 分析用户行为的设备120以及序列模式库130。通过分析用户行为的设备120,可以从用户 行为记录111和112构建一个或多个序列模式,从而生成序列模式库130。
[0019] 用户行为记录111和112是对用户行为的记录。根据本发明的实施例,用户行为记 录111和112可以包括服务器端的日志、客户端的日志以及用于记录用户行为的任何其他 文件等。在一个实施例中,用户行为记录可以包括一个或多个用户会话标识(Session ID) 以及与每个用户会话标识相关联的一个或多个动作。动作标识可以是每个用户界面组件的 唯一标识。例如,动作标识可以是当设计SaaS Web/移动用户界面时为用户界面组件所定 义的标识。一个动作标识及其关联的用户会话标识可以构成一个标识符,以下示出了标识 符的格式的一个例子:
[0020] 表 1
[0021]
[0022] 由此,用户行为记录可以包括一个或多个标识符,每个标识符均可以用于跟踪和 表示用户的行为。当用户在客户端处执行动作时,标识符可以在HTTP请求中被传递到服务 器端。例如,当用户在客户端的浏览器中点击上传文件按钮时,可以使用上传文件按钮的唯 一标识来作为该动作的动作标识。根据本发明的实施例,用户行为记录除了可以包括一个 或多个标识符之外,还可以包括用以标识用户行为补充信息,例如动作的执行时间、动作的 持续时间、会话的持续时间,等等。
[0023] 应当注意的是,系统100中所示的用户行为记录111和112可以是从不同客户端 处分布式收集的,也可以是在同一服务器或者不同服务器处收集的。设备120可以在与不 同客户端相关联的任一服务器端处实现,也可以在控制或管理上述任一服务器的控制器处 实现。设备120可以按照图4所示的根据本发明的实施例的用于分析用户行为的设备400 来实现,具体细节将在以下结合图4进行描述。
[0024] 序列模式库130可以包括设备120根据用户行为记录111和112而构建的一个或 多个序列模式。根据本发明的实施例,序列模式可以包含动作序列,该动作序列指示用户执 行的动作及其顺序。可选地或附加地,序列模式可以包括关键动作标识,其是序列模式所包 含的动作序列中的第一个必须执行的动作的标识。可选地或附加地,序列模式可以包括执 行序列模式所包含的动作序列的用户的集合,并且可以包括该用户的集合中的每个用户执 行该动作序列的次数。
[0025] 另外,应当注意的是,尽管图1中仅示出了两个用户行为记录111和112,但是所示 的用户行为记录的数目仅仅是示意性的,并非意在限制本发明的范围。例如,可以存在任意 数目的用户行为记录,其可以记录一个或多个用户的行为。
[0026] 图2示出了根据本发明一个示例性实施例的用于分析用户行为的方法的流程图。 方法200可以由存储用户行为记录的一个或多个服务器、对该服务器进行管理或控制的控 制器或能够直接或间接获取用户行为记录的其他设备来执行。
[0027] 方法200开始之后,在步骤S210,根据用户行为记录中的动作标识来生成动作序 列。
[0028] 根据本发明的实施例,可以根据多种方式来根据用户行为记录中的动作标识来生 成动作序列。在一个实施例中,可以从用户行为记录提取用户会话标识,并可以从用户行为 记录中的动作标识来生成与用户会话标识相关联的动作序列。用户会话标识指示用户从登 录到退出的过程,其中用户的退出可以包括用户正常退出登录,也可以包括由于超时等原 因造成的退出。
[0029] 在步骤S220,基于动作序列确定公共子序列,该公共子序列是对于动作序列中的 至少两个动作序列公共的子序列。
[0030] 动作序列可以指示用户所进行的动作的顺序和过程。由于用户在实际操作中可能 重复执行一个或多个动作,所以在步骤S210所生成的动作序列可能包括重复的动作。针对 这种情况,在根据本发明的一个实施例中,可以对动作序列进行去重,从而去除重复的动作 标识。然后,可以基于经去重的动作序列来确定公共子序列。
[0031] 可以通过多种方式来确定公共子序列。在一些实施例中,可以针对每个用户,确定 每两个动作序列的最长公共子序列。在另一些实施例中,可以预先为公共子序列设定预定 长度,然后可以针对每个用户来确定每两个动作序列的预定长度的公共子序列。具体的相 关细节将在以下结合图3的步骤S340进行描述。
[0032] 在步骤S230,基于公共子序列构建序列模式。
[0033] 根据本发明的实施例,可以利用多种不同的结构来构建序列模式。在一些实施例 中,序列模式可以例如包括在步骤S220所确定的公共子序列以及根据该公共子序列所确 定的关键动作标识。在这样的实施例中,可以确定公共子序列中的关键动作标识,其中关键 动作标识是公共子序列中的第一个必须执行的动作的标识;然后,基于公共子序列和关键 动作标识来构建序列模式。
[0034] 在另一些实施例中,序列模式可以例如包括在步骤S220所确定的公共子序列、执 行该公共子序列的用户的集合以及相关信息。在这样的实施例中,可以根据用户会话标识、 与用户会话标识相关联的动作序列以及公共子序列,来确定执行公共子序列的用户的集合 以及该用户的集合中的每个用户执行公共子序列的次数;然后,基于公共子序列、用户的集 合以及每个用户执行公共子序列的次数来构建序列模式。
[0035] 在进一步的实施例中,序列模式可以例如包括在步骤S220所确定的公共子序列、 关键动作标识、执行该公共子序列的用户的集合以及相关信息。在此情况下,可以确定公共 子序列中的关键动作标识,并确定执行公共子序列的用户的集合以及该用户的集合中的每 个用户执行公共子序列的次数;然后,基于公共子序列、用户的集合以及每个用户执行公共 子序列的次数来构建序列模式。具体细节将在以下结合图3的步骤S350至S370进行描述。
[0036] 图3示出了根据本发明另一个示例性实施例的用于分析用户行为的方法的流程 图。方法300是图2所述的方法200的一种具体实现方式,在方法300中,从用户行为记录 中的动作标识生成与用户会话标识相关联的动作序列,并基于根据动作序列确定的公共子 序列、从公共子序列确定的关键动作标识、执行公共子序列的用户的集合以及该集合中的 用户执行公共子序列的次数来构建序列模式。方法300可以由存储用户行为记录的一个或 多个服务器、对该服务器进行管理或控制的控制器或能够直接或间接获取用户行为记录的 其他设备来执行。
[0037] 方法300开始之后,在步骤S310,从用户行为记录提取用户会话标识。
[0038] 根据本发明的实施例,用户行为记录可以是用于记录用户行为的日志或任何其他 适当的文件,例如但不限于服务器端的日志、客户端的日志等。在用户行为记录中可以存储 一个或多个用户会话标识。一次会话例如可以是用户从登录到退出的过程,其中该退出可 以是正常退出登录也可以是超时退出。一个用户会话标识可以与一次会话相关联。用户在 从登录到退出的过程中可以执行一个或多个动作,这些动作可以是与用户会话标识相关联 的动作。根据本发明的实施例,除了可以包括用户会话标识之外,用户行为记录还可以存储 动作标识,每个动作标识可以标识与每个用户会话标识相关联的动作之一。
[0039] 在步骤S320,从用户行为记录中的动作标识生成与用户会话标识相关联的动作序 列。
[0040] 在用户行为记录中可以查找与用户会话标识相关联的动作标识,并根据查找到的 动作标识的顺序生成动作序列。动作序列可以包括一个或多个动作标识以及动作标识的顺 序,用于指示用户所执行的动作及其执行顺序。动作标识的顺序例如可以根据与动作标识 相对应的动作的执行顺序来确定。
[0041] 在一个实施例中,用户行为记录可以包括用以标识用户行为补充信息,例如动作 的执行时间、动作的持续时间、会话的持续时间,等等。根据动作的执行时间,可以确定各个 动作的执行顺序,从而可以进一步确定与各个动作相对应的动作标识的顺序。举例而言,在 用户行为记录中可能包括与某一用户会话标识相关联的两个动作标识,分别标识的是动作 A和动作B。假设根据补充信息可知动作A在动作B之前执行,则可以生成动作序列A- > B〇
[0042] 在另一个实施例中,用户在一次会话中可能重复执行多次同样的动作,所以用户 行为记录可能包括多个动作标识,其中一部分可能是重复的动作标识。例如,用户在一次会 话中可能执行动作A三次、然后执行动作B两次、然后再执行动作C,在此情况下,与此次会 话的用户会话标识相关联的动作序列可以是A- > A- > A- > B- > B- > C。根据本发明的 可选实施例,可以对具有重复的动作标识的动作序列进行去重操作,从而简化动作序列。
[0043] 在步骤S330,对动作序列进行去重,以去除重复的动作标识。
[0044] 继续以上述实施例为例,当步骤S320生成的动作序列是A- > A- > A- > B- > B- > C时,可以将该动作序列中的相邻的多个相同动作标识简化为一个动作标识,例如可 以将A- > A- > A简化为A,并可以将B- > B简化为B。由此,可以得到去重后的动作序列 A- > B- > C〇
[0045] 应当注意的是,步骤S330的去重操作对于本发明的实施例而言是可选的,而不是 必需的。在根据本发明的一些实施例中,即使不对动作序列进行去重,也可以实现本发明的 方案。
[0046] 在步骤S340,基于经去重的动作序列来确定公共子序列。
[0047] 对于每两个动作序列而言,若二者具有相同的子序列,则可认为存在公共子序列。 例如,对于两个动作序列A- > B- > C和A- > B- > D,可以确定其公共子序列为A- > B。 [0048] 根据本发明的实施例,对于每个用户所执行的多个动作序列,可以确定其中每两 个动作序列的最长公共子序列。其中最长公共子序列可以包含连续的公共子序列,也可以 包含非连续的公共子序列。例如,对于两个动作序列A- > B- > C- > D- > F和A- > C- > D- > E而言,可以确定它们的最长连续公共子序列是C- > D,最长非连续的公共子序列是 A- > C- > D。对于,另外两个动作序列 A- > B- > C- > D- > F 和 A- > B- > C- > D- > E而言,可以确定它们的最长公共子序列都是A- > B- > C- > D。可以根据实际情况确定 使用连续或非连续的最长公共子序列。
[0049] 应当注意的是,在根据本发明的实施例中,在步骤S340所确定的公共子序列不需 要是两个动作序列中的最长子序列。作为备选方案,可以针对每个用户来确定每两个动作 序列的预定长度的公共子序列。在这样的实施例中,公共子序列达到预定长度即可停止计 算,从而可以节省资源和开销,提高处理速度。例如,对于两个动作序列A- > B- > C- > D_ > F和A- > B_ > C_ > D_ > E而言,当预定长度设置为2时,公共子序列可以是A- > B、B- > C或者C- > D ;当预定长度设置为3时,公共子序列可以是A- > B- > C或者B- > C- > D ;当预定长度设置为4时,公共子序列可以是A- > B- > C- > D。另外应当注意的 是,公共子序列可以包含连续的公共子序列,也可以包含非连续的公共子序列。
[0050] 在执行完步骤S340之后,可以得到一个或多个公共子序列。根据本发明的实施 例,可以基于该一个或多个公共子序列来构建一个或多个序列模式。通过这种方式构建的 每个序列模式可以包括一个序列,该序列是所得到的一个或多个公共子序列之一。另外,每 个序列模式还可以包括一个唯一的模式标识,用来对不同序列模式进行区分。
[0051] 根据本发明的另外的实施例,除了可以基于公共子序列来构建序列模式之外,还 可以基于关键动作和用户集合等来构建序列模式,具体将在一些结合步骤S350-S370进行 描述。
[0052] 在步骤S350,确定公共子序列中的关键动作标识。
[0053] 关键动作可以是公共子序列中的第一个必须执行的动作,而关键动作标识是对该 关键动作的标识。例如,当步骤S340确定的公共子序列是A- > C- > D- > E时,假如E对 应于用户实际希望执行的目标动作,则A、C和D分别对应于该目标动作的前续动作。如果 此时还存在一个公共子序列B- > C- > D- > E,其中B、C和D分别对应于该目标动作的前 续动作,则可以认为C和D对应于执行该目标动作E之前所必须执行的动作,并且C对应于 上述必须执行的动作中的第一个动作。由此可以确定公共子序列A- > C- > D- > E中的 关键动作标识是C。
[0054] 根据本发明的实施例,关键动作可以根据多种方式来确定。在一些实施例中,当在 步骤S340得到多个公共子序列时,其中一个公共子序列(简称为"序列1")是A- > B- > C- > D- > E,则可以通过如下方式来确定其关键动作。
[0055] (1)如果存在另一个公共子序列(简称为"序列2"),其为C_>D,则序列1中的 在序列2之前的所有动作,即动作A和B,都不是必须执行的动作。同时,可以确定动作C和 D是必须执行的动作,并可以将第一个动作C确定为关键动作。
[0056] (2)如果另外存在多个公共子序列,例如两个公共子序列C- > D和A- > B,它们 分别都是序列1的子集,则与序列1的末尾最近的公共子序列将被认为是序列2,并可以将 序列2中的第一个动作C确定为关键动作。
[0057] (3)如果没有其他公共子序列是序列1的子集,并可以将序列1中的第一个动作A 确定为关键动作。
[0058] 应当注意的是,上述举例仅仅是示意性的,而不是对本发明的限制,本领域技术人 员完全可以通过已知的其他技术手段来确定公共子序列中的关键动作。
[0059] 在步骤S360,根据用户会话标识、与用户会话标识相关联的动作序列以及公共子 序列,确定执行公共子序列的用户的集合以及用户的集合中的每个用户执行公共子序列的 次数。
[0060] 如上所述,对于在步骤S320生成的与用户会话标识相关联的动作序列,可以在步 骤S360统计各个动作序列中包含公共子序列的情况,从而可以确定哪个或哪些用户执行 了公共子序列,并且可以确定每个用户对该公共子序列执行了多少次。
[0061] 应当注意的是,尽管在附图中以特定顺序描述了步骤S350和S360,但是这并非要 求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行这种顺序的操作才能实现 期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。例如在根据本发明的实施例 中,除了先执行步骤S350再执行步骤S360之外,可以先执行步骤S360再执行步骤S350,也 可以并行执行步骤S350和S360。
[0062] 在步骤S370,基于公共子序列、关键动作标识、用户的集合以及用户执行公共子序 列的次数来构建序列模式。
[0063] 在根据本发明的实施例中,序列模式可以例如包括公共子序列、关键动作标识、执 行该公共子序列的用户的集合和/或相关信息。以下示出了根据本发明的实施例的一种序 列模式的结构:
[0064] 序列模式={:模式标识,序列,关键动作标识,
[0065] 用户集合〈用户标识,执行次数>}
[0066] 其中,模式标识是每个序列模式的唯一标识符,用来对不同的序列模式进行区分; 序列可以是根据本发明的实施例而确定的公共子序列;关键动作标识可以是例如根据步骤 S350确定的关键动作的标识;用户集合〈用户标识,执行次数〉表示包括一个或多个用户 标识的集合,其中每个用户标识与该用户执行序列模式中的该序列的次数(也即"执行次 数")相对应地存储。
[0067] 应当注意的是,上述序列模式的结构仅仅是示意性的,而不是对本发明的限制,本 领域技术人员完全可以通过其他形式来实现序列模式的结构。例如,在根据本发明的其他 实施例中,序列模式还可能具有以下结构之一:
[0068] 序列模式={:模式标识,序列}
[0069] 序列模式={:模式标识,序列,关键动作标识}
[0070] 序列模式={:模式标识,序列,用户集合〈用户标识>}
[0071] 序列模式={:模式标识,序列,关键动作标识,用户集合〈用户标识>}
[0072] 基于根据本发明的实施例的方法所构建的序列模式,可以进行多种应用,例如为 用户提供推荐、优化用户界面设计、促进个性化用户界面定制、优化测试操作、对耗时的动 作进行预处理、安全控制,等等。
[0073] 在根据本发明的一些实施例中,可以根据序列模式来优化用户界面设计。根据一 些实施例,可以确定与序列模式中的序列中的动作标识相对应的动作的可访问性。通过确 定动作的可访问性,可以对用户界面的设计进行修改和调整,例如改变对使得可访问性较 低的动作的设计,以便于用户访问。
[0074] 举例而言,如果在目标动作的执行之前需要较多的前续动作,则该目标动作的可 访问性较低。在此情况下,可以通过建立一个更为快捷的方式,例如通过重新设计网页,来 提高该目标动作的可访问性。例如,当序列模式中的序列为A- > B- > C- > D- > E时,如 果A是关键动作,则意味着在执行目标动作E之前需要执行A、B、C、D这四个动作,也即动 作E的可访问性较低。根据本发明的实施例,如果序列模式中的用户集合中包含较多的用 户标识,则表明其中的关键动作对于很多用户而言是常用的,因此可以例如在主页上为用 户建立快捷方式,以便用户方便快速地执行该动作。
[0075] 根据本发明的实施例,动作的可访问性表明执行该动作的难易程度,一个动作如 果具有越多的前续动作,则可以认为该动作的可访问性越低。可访问性可以通过多种方式 来确定。在一个实施例中,可以确定关键动作标识在序列中的位置以及序列的长度,并可以 基于该位置和序列的长度来确定目标动作的可访问性。下式给出了计算可访问性的一个例 子:
[0077] 其中,Accessibility表示目标动作在一个序列模式中的可访问性;
[0078] lengthP表示序列模式中的序列的长度;
[0079] keypos表示关键动作的标识在该序列中的位置;并且
[0080] A表示调节因子,用于基于某些因素来对可访问性的计算进行调节,这些因素例 如可以包括序列模式中的序列的长短、序列模式被使用的频繁程度等等。例如,如果序列模 式1中的序列较长,而序列模式2中的序列较短,则通常序列模式1中的动作的可访问性低 于序列模式2中的动作。根据本发明的实施例,A可以是大于或等于0的数。
[0081] 举例而言,在一个实施例中,序列模式1中的序列可以是A->B(其中A是关键动 作),而序列模式2中的序列可以是A- > B- > C- > D- > E- > F (其中C是关键动作)。 如果A =0,则目标动作F的可访问性为3八6+0),其等于1/2;如果A = 1,则目标动作F 的可访问性为3八6+32),其小于1/2。由此可见,利用X可以调节可访问性的计算结果。
[0082] 在根据本发明的一些实施例中,可以根据序列模式确定用户的相似度;以及按照 用户的相似度对用户进行分组。在一些实施例中,可以通过确定与用户1相关联的序列模 式和与用户2相关联的序列模式存在多少共同的序列模式,从而确定用户1和用户2的相 似度。例如,当共同的序列模式数目较多时,可以确定用户1和用户2的相似度较高;而当 共同的序列模式数目较少时,可以确定用户1和用户2的相似度较低。在另外一些实施例 中,可以判定与用户1相关联的序列模式和与用户2相关联的序列模式共享多少不常用的 序列模式。当共享较多数目的不常用的序列模式时,可以确定用户1和用户2的相似度较 高;而当共享较少数目的不常用的序列模式时,可以确定用户1和用户2的相似度较低。在 又一些实施例中,可以判定与用户1相关联的序列模式和与用户2相关联的序列模式所共 享的序列模式的比例。当该比例较高时,可以确定用户1和用户2的相似度较高;而当该比 例较低时,可以确定用户1和用户2的相似度较低。
[0083] 在根据本发明的一些实施例中,可以按照用户执行序列模式中的序列的次数,对 与用户相关联的序列模式进行排序;从经过排序的序列模式中选择一个或多个序列模式; 以及获取一个或多个序列模式中的关键动作标识,用以向用户或者与用户相似度高的其他 用户进行推荐。
[0084] 在根据本发明的一些实施例中,可以将序列模式用于作为测试用例来提高测试效 率和速度。由于这样的测试用例是通过真实用户场景来动态得到的,而不是静态的测试设 计,所以可以有效改善测试过程。
[0085] 在根据本发明的一些实施例中,针对一些耗时的动作影响用户体验的情况,可以 在序列模式的序列中确定耗时动作的动作标识以及确定的动作标识的前续动作标识,然后 可以响应于监控到与前续动作标识相对应的动作被执行,来对耗时动作进行预处理。预处 理可以具有多种形式,例如预先下载一些资源、执行一些查询等。通过这种方式,当用户执 行该动作时,系统可以快速进行响应,从而可以提高用户体验。
[0086] 在根据本发明的一些实施例中,可以获取预先设定的不安全序列模式的集合,并 且响应于监控到集合中的不安全序列模式中的序列被执行,向系统管理者或执行序列的用 户发出警告。由此,可以对一些不安全的动作进行预警,提高系统安全性。
[0087] 现在参考图4,其示出了根据本发明一个示例性实施例的用于分析用户行为的设 备400的框图。根据本发明的实施例,设备400可以例如在存储用户行为记录的一个或多 个服务器处、对该服务器进行管理或控制的控制器处或在能够直接或间接获取用户行为记 录的其他设备处执行。根据本发明的实施例,图1描述的设备120可以根据设备400来实 现。
[0088] 如图所示,设备400包括:生成单元410,被配置为根据用户行为记录中的动作标 识来生成动作序列;确定单元420,被配置为基于动作序列确定公共子序列,该公共子序列 是对于动作序列中的至少两个动作序列公共的子序列;以及构建单元430,被配置为基于 公共子序列构建序列模式。
[0089] 根据本发明的实施例,生成单元410可以包括:提取单元,被配置为从用户行为记 录提取用户会话标识,其中用户会话标识与用户从登录到退出的过程相关联,其中生成单 元410可以被进一步配置为从用户行为记录中的动作标识生成与用户会话标识相关联的 动作序列。
[0090] 根据本发明的实施例,生成单元410可以进一步包括:查找单元,被配置为在用户 行为记录中查找与用户会话标识相关联的动作标识,其中生成单元410可以被进一步配置 为根据查找到的动作标识的顺序生成动作序列。
[0091] 根据本发明的实施例,确定单元420可以包括:去重单元,被配置为对动作序列进 行去重,以去除重复的动作标识,其中确定单元420可以被进一步配置为基于经去重的动 作序列来确定公共子序列。
[0092] 根据本发明的实施例,确定单元420可以被进一步配置为:针对每个用户,确定每 两个动作序列的最长公共子序列或者预定长度的公共子序列。
[0093] 根据本发明的实施例,构建单元430可以包括:关键动作确定单元,被配置为确定 公共子序列中的关键动作标识,其中关键动作标识是公共子序列中的第一个必须执行的动 作的标识,其中构建单元430可以被进一步配置为基于公共子序列和关键动作标识构建序 列模式。
[0094] 根据本发明的实施例,构建单元430可以包括:用户确定单元,被配置为根据用户 会话标识、与用户会话标识相关联的动作序列以及公共子序列,确定执行公共子序列的用 户的集合以及用户的集合中的每个用户执行公共子序列的次数,其中构建单元430可以被 进一步配置为基于公共子序列、用户的集合以及次数来构建序列模式。
[0095] 根据本发明的实施例,设备400还可以包括:相似度确定单元,被配置为根据序列 模式确定用户的相似度;以及分组单元,被配置为按照用户的相似度对用户进行分组。
[0096] 根据本发明的实施例,设备400还可以包括:可访问性确定单元,被配置为确定与 序列模式中的序列中的动作标识相对应的动作的可访问性。
[0097] 根据本发明的实施例,可访问性确定单元可以包括:位置确定单元,被配置为确定 动作标识在序列中的位置以及序列的长度,其中可访问性确定单元可以进一步被配置为基 于位置和序列的长度来确定动作的可访问性。
[0098] 根据本发明的实施例,设备400还可以包括:排序单元,被配置为按照用户执行序 列模式中的序列的次数,对与用户相关联的序列模式进行排序;选择单元,被配置为从经过 排序的序列模式中选择一个或多个序列模式;以及推荐单元,被配置为获取一个或多个序 列模式中的关键动作标识,用以向用户或者与用户相似度高的其他用户进行推荐。
[0099] 根据本发明的实施例,设备400还可以包括:耗时分析单元,被配置为在序列模式 的序列中确定耗时动作的动作标识以及确定的动作标识的前续动作标识;以及预处理单 元,被配置为响应于监控到与前续动作标识相对应的动作被执行,对耗时动作进行预处理。
[0100] 根据本发明的实施例,设备400还可以包括:获取单元,被配置为获取预先设定的 不安全序列模式的集合;以及警告单元,被配置为响应于监控到集合中的不安全序列模式 中的序列被执行,向系统管理者或执行序列的用户发出警告。
[0101] 为清晰起见,在图4中没有示出设备400包含的可选单元以及各个单元所包含的 子单元。然而,应当理解,上文参考图1描述的各个特征同样适用于设备400,在此不再赘 述。
[0102] 应当理解,设备400可以利用各种方式实现。例如,在某些实施例中,设备400可 以利用软件和/或固件来实现。例如,设备400可以被实现为包含在计算机可读介质上的 计算机程序产品,其中的每个单元是通过计算机指令来实现其功能的程序模块。备选地或 附加地,设备400可以部分地或者完全地基于硬件来实现。例如,设备400可被实现为集成 电路(1C)芯片、专用集成电路(ASIC)或者片上系统(SOC)。现在已知或者将来开发的其他 方式也是可行的,本发明的范围在此方面不受限制。
[0103] 下面参考图5,其示出了适于用来实践本发明实施方式的计算机系统的示意性 框图。如图5所示,计算机系统可以包括:CPU(中央处理单元)501、RAM(随机存取存储 器)502、ROM (只读存储器)503、系统总线504、硬盘控制器505、键盘控制器506、串行接口 控制器507、并行接口控制器508、显示控制器509、硬盘510、键盘511、串行外部设备512、 并行外部设备513和显示器514。在这些设备中,与系统总线504耦合的有CPU 501、RAM 502、ROM 503、硬盘控制器505、键盘控制器506、串行控制器507、并行控制器508和显示控 制器509。硬盘510与硬盘控制器505耦合,键盘511与键盘控制器506耦合,串行外部设 备512与串行接口控制器507耦合,并行外部设备513与并行接口控制器508耦合,以及显 示器514与显示控制器509耦合。应当理解,图5所述的结构框图仅仅为了示例的目的而 示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某 些设备。
[0104] 如上所述,设备400可以通过硬件实现,例如芯片、ASIC、S0C等。这些硬件可以集 成在计算机系统500中。此外,本发明的实施例也可以通过计算机程序产品的形式实现。例 如,本发明的方法均可通过计算机程序产品来实现。该计算机程序产品可以存储在例如图 5所示的RAM 504、ROM 504、硬盘510和/或任何适当的存储介质中,或者通过网络从适当 的位置下载到计算机系统500上。计算机程序产品可以包括计算机代码部分,其包括可由 适当的处理设备(例如,图5中示出的CPU 501)执行的程序指令。所述程序指令至少可以 包括用于实现本发明方法的步骤的指令。
[0105] 本发明的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可 以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微 处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的系统和方法可 以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或 DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信 号载体的数据载体上提供了这样的代码。本发明系统可以由诸如超大规模集成电路或门阵 列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的 可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以 由上述硬件电路和软件的结合例如固件来实现。
[0106] 应当注意,尽管在上文详细描述中提及了设备的若干单元或子单元,但是这种划 分仅仅并非强制性的。实际上,根据本发明的实施例,上文描述的两个或更多单元的特征和 功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分 为由多个单元来实现。
[0107] 此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者 暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的 结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤, 将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0108] 虽然已经参考若干具体实施例描述了本发明,但是应该理解,本发明并不限于所 公开的具体实施例。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等 同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和 功能。
【主权项】
1. 一种用于分析用户行为的方法,所述方法包括: 根据用户行为记录中的动作标识来生成动作序列; 基于所述动作序列确定公共子序列,所述公共子序列是对于所述动作序列中的至少两 个动作序列公共的子序列;以及 基于所述公共子序列构建序列模式。2. 根据权利要求1所述的方法,其中根据用户行为记录中的动作标识来生成动作序列 包括: 从所述用户行为记录提取用户会话标识,其中所述用户会话标识与用户从登录到退出 的过程相关联;以及 从所述用户行为记录中的动作标识生成与所述用户会话标识相关联的动作序列。3. 根据权利要求2所述的方法,其中根据所述用户行为记录生成与所述用户会话标识 相关联的动作序列包括: 在所述用户行为记录中查找与所述用户会话标识相关联的动作标识;以及 根据查找到的所述动作标识的顺序生成所述动作序列。4. 根据权利要求1所述的方法,其中基于所述动作序列确定公共子序列包括: 对所述动作序列进行去重,以去除重复的动作标识;以及 基于经去重的动作序列来确定所述公共子序列。5. 根据权利要求4所述的方法,其中基于经去重的动作序列来确定所述公共子序列包 括: 针对每个用户,确定每两个动作序列的最长公共子序列或者预定长度的公共子序列。6. 根据权利要求1所述的方法,其中基于所述公共子序列构建序列模式包括: 确定所述公共子序列中的关键动作标识,其中所述关键动作标识是所述公共子序列中 的第一个必须执行的动作的标识;以及 基于所述公共子序列和所述关键动作标识构建所述序列模式。7. 根据权利要求1所述的方法,其中基于所述公共子序列构建序列模式包括: 根据所述用户会话标识、与所述用户会话标识相关联的动作序列以及所述公共子序 列,确定执行所述公共子序列的用户的集合以及所述用户的集合中的每个用户执行所述公 共子序列的次数;以及 基于所述公共子序列、所述用户的集合以及所述次数来构建所述序列模式。8. 根据权利要求1所述的方法,还包括: 根据所述序列模式确定用户的相似度;以及 按照用户的相似度对用户进行分组。9. 根据权利要求1所述的方法,还包括: 确定与所述序列模式中的序列中的动作标识相对应的动作的可访问性。10. 根据权利要求9所述的方法,其中确定与所述序列模式中的序列中的动作标识相 对应的动作的可访问性包括: 确定所述动作标识在所述序列中的位置以及所述序列的长度;以及 基于所述位置和所述序列的长度来确定所述动作的可访问性。11. 根据权利要求1所述的方法,还包括: 按照用户执行所述序列模式中的序列的次数,对与所述用户相关联的序列模式进行排 序; 从经过排序的所述序列模式中选择一个或多个序列模式;以及 获取所述一个或多个序列模式中的关键动作标识,用以向所述用户或者与所述用户相 似度高的其他用户进行推荐。12. 根据权利要求1所述的方法,还包括: 在所述序列模式的序列中确定耗时动作的动作标识以及确定的所述动作标识的前续 动作标识;以及 响应于监控到与所述前续动作标识相对应的动作被执行,对所述耗时动作进行预处 理。13. 根据权利要求1所述的方法,还包括: 获取预先设定的不安全序列模式的集合;以及 响应于监控到所述集合中的不安全序列模式中的序列被执行,向系统管理者或执行所 述序列的用户发出警告。14. 一种用于分析用户行为的设备,所述设备包括: 生成单元,被配置为根据用户行为记录中的动作标识来生成动作序列; 确定单元,被配置为基于所述动作序列确定公共子序列,所述公共子序列是对于所述 动作序列中的至少两个动作序列公共的子序列;以及 构建单元,被配置为基于所述公共子序列构建序列模式。15. 根据权利要求14所述的设备,其中所述生成单元包括: 提取单元,被配置为从所述用户行为记录提取用户会话标识,其中所述用户会话标识 与用户从登录到退出的过程相关联, 其中所述生成单元被进一步配置为从所述用户行为记录中的动作标识生成与所述用 户会话标识相关联的动作序列。16. 根据权利要求15所述的设备,其中所述生成单元进一步包括: 查找单元,被配置为在所述用户行为记录中查找与所述用户会话标识相关联的动作标 识, 其中所述生成单元被进一步配置为根据查找到的所述动作标识的顺序生成所述动作 序列。17. 根据权利要求14所述的设备,其中所述确定单元包括: 去重单元,被配置为对所述动作序列进行去重,以去除重复的动作标识, 其中所述确定单元被进一步配置为基于经去重的动作序列来确定所述公共子序列。18. 根据权利要求17所述的设备,其中所述确定单元被进一步配置为: 针对每个用户,确定每两个动作序列的最长公共子序列或者预定长度的公共子序列。19. 根据权利要求14所述的设备,其中所述构建单元包括: 关键动作确定单元,被配置为确定所述公共子序列中的关键动作标识,其中所述关键 动作标识是所述公共子序列中的第一个必须执行的动作的标识, 其中所述构建单元被进一步配置为基于所述公共子序列和所述关键动作标识构建所 述序列模式。20. 根据权利要求14所述的设备,其中所述构建单元包括: 用户确定单元,被配置为根据所述用户会话标识、与所述用户会话标识相关联的动作 序列以及所述公共子序列,确定执行所述公共子序列的用户的集合以及所述用户的集合中 的每个用户执行所述公共子序列的次数, 其中所述构建单元被进一步配置为基于所述公共子序列、所述用户的集合以及所述次 数来构建所述序列模式。21. 根据权利要求14所述的设备,还包括: 相似度确定单元,被配置为根据所述序列模式确定用户的相似度;以及 分组单元,被配置为按照用户的相似度对用户进行分组。22. 根据权利要求14所述的设备,还包括: 可访问性确定单元,被配置为确定与所述序列模式中的序列中的动作标识相对应的动 作的可访问性。23. 根据权利要求22所述的设备,其中所述可访问性确定单元包括: 位置确定单元,被配置为确定所述动作标识在所述序列中的位置以及所述序列的长 度, 其中所述可访问性确定单元进一步被配置为基于所述位置和所述序列的长度来确定 所述动作的可访问性。24. 根据权利要求14所述的设备,还包括: 排序单元,被配置为按照用户执行所述序列模式中的序列的次数,对与所述用户相关 联的序列模式进行排序; 选择单元,被配置为从经过排序的所述序列模式中选择一个或多个序列模式;以及 推荐单元,被配置为获取所述一个或多个序列模式中的关键动作标识,用以向所述用 户或者与所述用户相似度高的其他用户进行推荐。25. 根据权利要求14所述的设备,还包括: 耗时分析单元,被配置为在所述序列模式的序列中确定耗时动作的动作标识以及确定 的所述动作标识的前续动作标识;以及 预处理单元,被配置为响应于监控到与所述前续动作标识相对应的动作被执行,对所 述耗时动作进行预处理。26. 根据权利要求14所述的设备,还包括: 获取单元,被配置为获取预先设定的不安全序列模式的集合;以及 警告单元,被配置为响应于监控到所述集合中的不安全序列模式中的序列被执行,向 系统管理者或执行所述序列的用户发出警告。
【文档编号】G06F17/30GK105893385SQ201510003757
【公开日】2016年8月24日
【申请日】2015年1月4日
【发明人】刘晶晶, 陈超, 马江, 徐俊杰, 魏晓峰
【申请人】伊姆西公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1