用户行为树构建方法及装置转让专利

申请号 : CN201710141271.2

文献号 : CN108574669B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙刚朱军杨元伟

申请人 : 掌阅科技股份有限公司

摘要 :

本发明公开了一种用户行为树构建方法及装置,其方法包括:基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点;收集埋点在被触发后产生的数据信息;将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表;对数据信息列表进行分析,还原构建用户行为树。利用本发明可以有效的收集用户行为的数据信息,也使得收集的数据信息更加精准,有利于后期分析。通过对数据信息进行分析还原构建用户行为树,减少代码开发量及维护等成本,提高工作效率。

权利要求 :

1.一种用户行为树构建方法,其包括:

对用户行为的本质进行抽象分类,将用户行为分为浏览、点击和/或下载用户行为类型,按照不同用户行为类型在服务器和客户端中设置对应的埋点,使得无需针对每种具体的用户行为进行埋点;其中,将打开页面、上下移动页面或翻页的用户行为概括为浏览;将点击某按钮或点击某链接的用户行为概括为点击;将下载文件、图片的用户行为概括为下载;

收集所述埋点在被触发后产生的数据信息;

将所述数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表;

对所述数据信息列表进行分析,按照用户行为发生时间顺序,根据用户行为发生地址和/或用户行为标识的上下文关联关系进行处理,构建同一用户标识的用户行为树;其中,将具有上下文关联关系的两个数据信息进行关联,得到一个分支,将不具有上下文关联关系的两个数据信息作为不同分支,其中,每个分支用于表征一种具体的用户行为。

2.根据权利要求1所述的方法,其中,所述数据信息包括用户标识、用户行为标识、用户行为发生时间和/或用户行为发生地址;其中,所述用户行为标识包括浏览、点击和/或下载;所述用户行为发生地址包括地址的页面信息、地址的模块信息和/或地址的标签信息。

3.根据权利要求1所述的方法,其中,所述将所述数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表进一步包括:将同一用户标识的数据信息按照该用户行为发生时间倒序进行排列,得到以时间轴为顺序的同一用户标识的数据信息列表。

4.一种用户行为树构建装置,其包括:

设置模块,适于对用户行为的本质进行抽象分类,将用户行为分为浏览、点击和/或下载用户行为类型,按照不同用户行为类型在服务器和客户端中设置对应的埋点,所述用户行为包括浏览、点击和/或下载,使得无需针对每种具体的用户行为进行埋点;其中,将打开页面、上下移动页面或翻页的用户行为概括为浏览;将点击某按钮或点击某链接的用户行为概括为点击;将下载文件、图片的用户行为概括为下载;

收集模块,适于收集所述埋点在被触发后产生的数据信息;

排列模块,适于将所述数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表;

还原模块,适于对所述数据信息列表进行分析,按照用户行为发生时间顺序,根据用户行为发生地址和/或用户行为标识的上下文关联关系进行处理,构建同一用户标识的用户行为树;其中,将具有上下文关联关系的两个数据信息进行关联,得到一个分支,将不具有上下文关联关系的两个数据信息作为不同分支,其中,每个分支用于表征一种具体的用户行为。

5.根据权利要求4所述的装置,其中,所述数据信息包括用户标识、用户行为标识、用户行为发生时间和/或用户行为发生地址;其中,所述用户行为标识包括浏览、点击和/或下载;所述用户行为发生地址包括地址的页面信息、地址的模块信息和/或地址的标签信息。

6.根据权利要求4所述的装置,其中,所述排列模块进一步适于:

将同一用户标识的数据信息按照该用户行为发生时间倒序进行排列,得到以时间轴为顺序的同一用户标识的数据信息列表。

7.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-3中任一项所述的用户行为树构建方法对应的操作。

8.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-3中任一项所述的用户行为树构建方法对应的操作。

说明书 :

用户行为树构建方法及装置

技术领域

[0001] 本发明涉及软件领域,具体涉及一种用户行为树构建方法及装置。

背景技术

[0002] 用户行为树可以记录用户行为路径,有利于对用户行为进行分析,获取用户热点行为,可以让应用提供方更加详细、清楚地了解用户的行为习惯,从而找出应用中存在的问题,有助于发掘出用户点击或浏览量高的应用服务,使得应用提供方可以更加精准、有效的提供应用服务,吸引用户,从而提升应用服务的收益等。
[0003] 现有技术在构建用户行为树时,需要在用户行为发生的客户端、服务器端等多个位置均进行埋点,每个埋点记录一个具体的用户行为的发生。这样处理就使得需要首先通读代码,在需要埋点的位置处根据代码分别设置不同的埋点。对不同的埋点编写不同的代码,这就使得需要大量的代码编写工作,极大的消耗人工成本。同时,为了能够记录各个埋点之间的关联关系,还需要在多个业务模块之间进行交互。在收集埋点产生的数据时,除收集与用户行为相关的数据信息外,还要收集关联关系的数据信息。收集的数据信息量大,且数据信息繁杂。

发明内容

[0004] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用户行为树构建方法及装置。
[0005] 根据本发明的一个方面,提供了一种用户行为树构建方法,其包括:
[0006] 基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点;
[0007] 收集埋点在被触发后产生的数据信息;
[0008] 将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表;
[0009] 对数据信息列表进行分析,还原构建用户行为树。
[0010] 根据本发明的另一方面,提供了一种用户行为树构建装置,其包括:
[0011] 设置模块,适于基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点;
[0012] 收集模块,适于收集埋点在被触发后产生的数据信息;
[0013] 排列模块,适于将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表;
[0014] 还原模块,适于对数据信息列表进行分析,还原构建用户行为树。
[0015] 根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
[0016] 所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述用户行为树构建方法对应的操作。
[0017] 根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如上述用户行为树构建方法对应的操作。
[0018] 根据本发明提供的用户行为树构建方法及装置,基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点;收集埋点在被触发后产生的数据信息。将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表。对数据信息列表进行分析,还原构建用户行为树。基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点,不需要再设置与收集用户行为跳转信息相关的代码,减少了相对应的需要编写大量代码的工作量,节约了人工成本。埋点根据用户行为类型进行设置,不影响应用中原有的代码逻辑,不需要人工查找确认埋点位置。进一步,由于埋点基于用户行为类型设置,已经涵盖基本的用户行为,一次埋点就可以得到用户行为树所需的数据信息。当应用根据用户需求发生变化进行调整时,埋点不需要进行再次调整。同时,将数据信息按照时间顺序进行排列,根据时间轴顺序对数据信息列表进行分析,还原构建用户行为树。不需要再通过用户行为之间的前后关系去构建用户行为树,极大的减少了为获取用户行为前后关系的而编写的代码量和各个模块间的通信成本,也不需要再去获取用户行为之外的关系数据信息,仅收集用户行为的数据信息,减少了无用信息的收集,也节省了收集无用数据信息的网络流量消耗。利用本发明可以有效的收集用户行为的数据信息,也使得收集的数据信息更加精准,有利于后期分析。通过对数据信息进行分析还原构建用户行为树,减少代码开发量及维护等成本,提高工作效率。
[0019] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0020] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0021] 图1示出了根据本发明实施例一的用户行为树构建方法的流程图;
[0022] 图2a-图2d示出了本发明用户行为涉及的页面示意图;
[0023] 图3示出了根据本发明实施例二的用户行为树构建方法的流程图;
[0024] 图4示出了根据本发明实施例三的用户行为树构建装置的功能框图;
[0025] 图5示出了根据本发明实施例五的一种电子设备的结构示意图。

具体实施方式

[0026] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0027] 实施例一
[0028] 图1示出了根据本发明实施例一的用户行为树构建方法的流程图,如图1所示,用户行为树构建方法具体包括如下步骤:
[0029] 步骤S101,基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点。
[0030] 用户行为包括如用户浏览了某个页面、用户点击了某个按钮、用户执行了某个具体操作等等。在应用的代码中通过埋点可以收集上述用户行为对应的数据信息,但需要针对每个具体的用户行为均设置埋点。埋点需要大量的代码才能实现,工作量较大。
[0031] 为提升工作效率,也使得整个埋点及后续分析等工作简便,在本实施例中,基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点。具体的,基于用户行为分类包括如将用户行为进一步抽象,从用户行为本质进行分类,将用户行为概括为浏览、点击、下载等几大类行为。如打开页面、上下移动页面或翻页等用户行为可以概括为浏览,点击某按钮或者点击某链接等用户行为可以概括为点击,下载文件、图片等用户行为可以概括为下载。在将用户行为概括分类后,仅对这几大类用户行为在应用的服务器和客户端中设置埋点;或者还可以将不属于用户行为分类的如用户在不同界面或页面间的跳转行为、应用各模块间信息交互行为等行为去除,不设置其对应的埋点等,一方面减少埋点数量,使得埋点更集中在用户行为的具体操作上,同时,后续的收集可以减少不必要的信息,收集到更准确的用户行为的数据信息。
[0032] 基于用户行为进行分类,可以将用户行为分为如浏览、点击、下载等用户行为类型。埋点时,根据不同的用户行为类型设置不同的埋点,如点击用户行为类型,设置点击类的埋点,涵盖全部的点击用户行为。通过对用户行为分类,涵盖所需的全部用户行为。基于用户行为分类后设置的埋点,从用户行为本身出发,可以屏蔽应用中的具体的业务、操作等,使得应用中需求发生变化时,不影响埋点的设置,可以在一次埋点后,适用于多变的应用需求。即当应用中的代码因需求改变发生变动时,埋点不需要进行修改。
[0033] 步骤S102,收集埋点在被触发后产生的数据信息。
[0034] 埋点在被用户触发后,如用户点击了某按钮或者链接等,触发与该点击相关的埋点,得到相应的数据信息;或用户打开某界面或页面、拖动某界面或页面上下移动、左右翻页等,触发与浏览相关的埋点,得到相应的数据信息。其中,数据信息可以包括了如用户标识、用户行为标识、用户行为发生时间、用户行为发生地址等信息。用户标识记录了执行该行为的用户信息如用户ID等。用户行为标识记录了用户具体的行为,此处用户行为标识可以包括浏览、点击、下载等用户行为标识。用户行为发生时间记录了该用户行为发生的具体时间。用户行为发生地址可以包括了如用户行为发生地址的页面信息、地址页面中的模块信息、地址页面中具体的标签信息如按钮、链接、图片等等。
[0035] 收集的数据信息可以包括如图2a的页面,用户XXX在2017-02-23 16:20:17浏览了页面A,页面A为查询结果页面。数据信息中记录了用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 16:20:17、用户行为发生地址为页面A。收集的数据信息还可以包括如图2b所示,用户XXX在2017-02-23 16:20:50点击了页面A链接B,页面A为查询结果页面,链接B为《三生三世十里桃花》链接。数据信息中记录了用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:20:50、用户行为发生地址为页面A链接B。收集的数据信息还可以包括如图2c所示,用户XXX在2017-02-23 16:21:06点击了页面C的按钮D,页面C的按钮D为图2c所示的全本下载按钮。数据信息中记录了用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:21:06、用户行为发生地址为页面C的按钮D。需要说明的是,在该用户行为后,服务器下载模块的埋点也会被触发,产生相应的数据信息。数据信息中记录用户标识为XXX、用户行为标识为下载、用户行为发生时间为
2017-02-23 16:21:07、用户行为发生地址为页面C的按钮D。该条数据信息由服务器的埋点触发后产生。进一步,根据埋点被触发产生的数据信息的不同,用户行为发生地址还可以为如图2d所示的书籍E第F页等信息。以上均为举例说明,数据信息根据实施情况进行设置,此处不做限定。
[0036] 步骤S103,将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表。
[0037] 根据数据信息中的用户行为发生时间,将数据信息按照时间顺序进行排列。其中,用户标识可以为同一用户标识,也可以为不同用户标识。为后续步骤在分析上更为便利,优选将同一用户标识的数据信息按照用户行为发生时间进行排列,得到同一用户标识的以时间轴为顺序的数据信息列表。
[0038] 步骤S104,对数据信息列表进行分析,还原构建用户行为树。
[0039] 对数据信息列表进行分析时,需要结合数据信息中的用户行为标识各自的特性,如用户行为标识为点击时,分析数据信息列表,找到其前一时间点的数据信息,如用户行为标识为浏览,并根据用户行为发生地址进行比较,是否同一用户行为发生地址或者不同用户行为发生地址但其为同一页面等,判断两个数据信息是否具有上下文关联关系。若两个数据信息具有上下文关联关系,将两个数据信息进行关联,得到用户行为树中的一个分支。若两个数据信息不具有上下文关联关系,将两个数据信息作为用户行为树中的不同分支。
[0040] 根据本发明提供的用户树构建方法,基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点;收集埋点在被触发后产生的数据信息。将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表。对数据信息列表进行分析,还原构建用户行为树。基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点,不需要再设置与收集用户行为跳转信息相关的代码,减少了相对应的需要编写大量代码的工作量,节约了人工成本。埋点根据用户行为类型进行设置,不影响应用中原有的代码逻辑,不需要人工查找确认埋点位置。进一步,由于埋点基于用户行为类型设置,已经涵盖基本的用户行为,一次埋点就可以得到用户行为树所需的数据信息。当应用根据用户需求发生变化进行调整时,埋点不需要进行再次调整。同时,将数据信息按照时间顺序进行排列,根据时间轴顺序对数据信息列表进行分析,还原构建用户行为树。不需要再通过用户行为之间的前后关系去构建用户行为树,极大的减少了为获取用户行为前后关系的而编写的代码量和各个模块间的通信成本,也不需要再去获取用户行为之外的关系数据信息,仅收集用户行为的数据信息,减少了无用信息的收集,也节省了收集无用数据信息的网络流量消耗。利用本发明可以有效的收集用户行为的数据信息,也使得收集的数据信息更加精准,有利于后期分析。通过对数据信息进行分析还原构建用户行为树,减少代码开发量及维护等成本,提高工作效率。
[0041] 实施例二
[0042] 图3示出了根据本发明实施例二的用户树构建方法的流程图,如图3所示,用户树构建方法包括如下步骤:
[0043] 步骤S301,对用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点。
[0044] 通过对多种用户行为的分析,将用户行为进一步概括分类,提取出多种用户行为的核心用户行为。如用户行为为浏览推荐页面、浏览书籍、浏览查询结果页面等都可以将用户行为概括为浏览;用户行为为点击查看按钮、点击打开链接、点击图片链接等都可以将用户行为概括为点击。具体可以根据实际的实施情况将用户行为分为合适的类型。
[0045] 按照用户行为类型的不同,仅在服务器和客户端分别设置与用户行为类型对应的埋点。此处需要注意的是,设置时仅对分类后的用户行为类型进行埋点,对于如现有技术中涉及的页面间跳转、模块间跳转等业务信息的关联不设置埋点,使埋点更集中在用户行为上。同时,服务器和客户端分别设置埋点,但对服务器和客户端间的数据交互等信息交互不设置埋点,以减少相互间通信成本。具体的埋点可以包括记录用户的信息、用户行为相关的信息如用户行为、用户行为发生的时间、地址等。进一步,由于用户的会话标识如SessionId存在用户打开多窗口、超时、cookie数量限制等问题导致丢失等问题,因此,埋点时不再为用户建立会话标识等。或者由于页面间跳转可能存在多次跳转、相互跳转、跳转到本身等情况,埋点时不再建立页面间refer链关系等信息。以避免SessionId丢失或refer链断裂造成的用户行为相关的数据信息丢失等情况。
[0046] 步骤S302,将埋点在被触发后产生的数据信息存储在指定位置。
[0047] 埋点在被触发后,会根据具体的埋点产生对应的数据信息。其中,数据信息可以包括了如用户标识、用户行为标识、用户行为发生时间、用户行为发生地址等信息。用户标识记录了执行该行为的用户信息如用户ID等。用户行为标识记录了用户具体的行为,此处用户行为标识可以包括浏览、点击、下载等用户行为标识。用户行为发生时间记录了该用户行为发生的具体时间。用户行为发生地址可以包括了如用户行为发生地址的页面信息、地址页面中的模块信息、地址页面中具体的标签信息如按钮、链接、图片等等。根据埋点的不同,用户行为发生地址可以包括以上的一项或多项。具体数据信息可以参考实施例一中的描述,在此不再赘述。
[0048] 产生数据信息后,可以将数据信息按照用户标识、用户行为标识等进行分类存储。如对收集到的数据信息可以按照用户标识进行划分,将数据信息按照同一用户标识分别存储,先按照用户标识建立文档,再将该同一用户标识的数据信息存储在该文档中;或者收集到的数据信息按照用户行为标识进行划分,先按照用户行为标识建立文档,再将该同一用户行为标识的数据信息存储在该文档中;或者将以上两者方式综合,将同一用户标识、同一用户行为标识的数据信息存在同一文档中等等。进一步,数据信息还可以先存储在用户终端设备本地。在用户终端设备再次启动应用时或者数据信息的大小达到预设存储大小时,再将收集到的数据信息一并发送给数据分析中心或服务器,以避免在每次收集到数据信息后就直接发送给数据分析中心或服务器造成的通信连接频繁建立与断开、多用户的数据信息同时发送速度较慢等等问题。以上均为举例说明,具体存储方式根据实施情况进行实施,此处不做限定。
[0049] 步骤S303,将同一用户标识的数据信息按照该用户行为发生时间倒序进行排列,得到以时间轴为顺序的同一用户标识的数据信息列表。
[0050] 在收集到数据信息后,将数据信息按照同一用户标识划分,将同一用户标识的数据信息按照该用户行为发生时间倒序进行排列,得到数据信息列表。如将数据信息按照用户行为发生时间的倒序进行排列,得到的数据信息列表为:数据信息1时间2017-02-23 16:21:07:用户标识为XXX、用户行为标识为下载、用户行为发生时间为2017-02-23 16:21:07、用户行为发生地址为页面C的按钮D。数据信息2时间2017-02-23 16:21:06:用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:21:06、用户行为发生地址为页面C的按钮D。数据信息3时间2017-02-23 16:20:50:用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:20:50、用户行为发生地址为页面A链接B。数据信息4时间2017-02-23 16:20:17:用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 16:20:17、用户行为发生地址为页面A。此处得到的数据信息列表以时间倒序排列,方便根据后一发生的用户行为向前追溯,找到其对应的前一用户行为轨迹。
[0051] 步骤S304,对数据信息列表进行分析,按照用户行为发生时间顺序,根据用户行为发生地址和/或用户行为标识的上下文关联关系进行处理,将相邻的多条数据信息建立树形关联关系,还原构建同一用户标识的用户行为树。
[0052] 对数据信息列表进行分析时,需要按照用户行为发生时间的顺序依次分析。首先获取时间最新的数据信息,根据该数据信息中的用户行为标识进行分析,如用户行为标识为点击时,结合其用户行为发生地址,若用户行为发生地址为搜索结果页面中的打开按钮,可以得知用户行为为用户点击了搜索结果中的某一个打开按钮。可以去获取用户行为发生时间在其之前、用户行为发生地址中的搜索结果页面与其相同、用户行为标识为浏览的数据信息。将这两条数据信息进行关联。如数据信息1为用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 09:00:09、用户行为发生地址为页面A链接B。数据信息2为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 08:59:33、用户行为发生地址为页面A。可以将两条数据信息进行关联。
[0053] 关联时需要注意,若存在多条符合以上条件的数据信息,该多条数据信息仅仅是时间不同且时间相隔较短的情况,且多条数据信息均为同一用户行为标识,之间不存在其他用户行为标识时,即多条数据信息之间不存在用户行为标识为浏览以外的其他用户行为标识,用户一直在该搜索结果页面进行了多次跳转如将搜索结果页面进行翻页操作,可以选择时间最接近的一条数据信息进行关联,也可以选择时间最远的一条数据信息即用户第一次浏览该搜索结果页面的数据信息进行关联。如数据信息1为用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 09:00:09、用户行为发生地址为页面A链接B。数据信息2为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 08:59:33、用户行为发生地址为页面A。数据信息3为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 08:59:12、用户行为发生地址为页面A。数据信息4为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 08:58:50、用户行为发生地址为页面A。此时可以将数据信息1与数据信息2进行关联,也可以将数据信息1与数据信息4进行关联。若还存在数据信息5为用户标识为XXX、用户行为标识为下载、用户行为发生时间为2017-02-23 07:21:07、用户行为发生地址为页面C的按钮D。数据信息6为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 07:00:50、用户行为发生地址为页面A。不可以将数据信息1与数据信息6进行关联。以上均为举例说明,具体关联关系根据实施情况进行设置,此处不做限定。
[0054] 根据用户行为发生地址、用户行为标识的上下文关联关系等按照顺序将数据信息列表中的数据信息进行分析、处理,将相邻的多条数据信息按照其可能的关系建立对应的树形关联关系,如根据数据信息列表:数据信息1时间2017-02-23 16:21:07:用户标识为XXX、用户行为标识为下载、用户行为发生时间为2017-02-23 16:21:07、用户行为发生地址为页面C的按钮D。数据信息2时间2017-02-23 16:21:06:用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:21:06、用户行为发生地址为页面C的按钮D。数据信息3时间2017-02-23 16:20:50:用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:20:50、用户行为发生地址为页面A链接B。数据信息4时间2017-02-23 16:20:17:用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 16:
20:17、用户行为发生地址为页面A。数据信息5时间2017-02-23 13:11:08:用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 13:11:08、用户行为发生地址为书籍E第F页。还原构建的数据行为树为:分支1:数据信息1->数据信息2->数据信息3->数据信息4,分支2:数据信息5。用户行为由于其非线性特征,因此还原构建的用户行为树可以具有多个分支,形成树形关联关系。
[0055] 根据本发明提供的用户行为树构建方法,对用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点。将埋点在被触发后产生的数据信息存储在指定位置。将同一用户标识的数据信息按照该用户行为发生时间倒序进行排列,得到以时间轴为顺序的同一用户标识的数据信息列表。对数据信息列表进行分析,按照用户行为发生时间顺序,根据用户行为发生地址和/或用户行为标识的上下文关联关系进行处理,将相邻的多条数据信息建立树形关联关系,还原构建同一用户标识的用户行为树。即获取了用户行为的数据信息,又减少了不必要信息的产生,提高了收集数据信息的效率,减少了埋点中代码的开发维护等成本。在根据时间排列后,可以方便的按照时间进行追溯,根据后一用户行为找到其前一用户行为,便于还原构建用户行为树。
[0056] 实施例三
[0057] 图4示出了根据本发明实施例三的用户行为树构建装置的功能框图。如图4所示,用户行为树构建装置包括如下模块:
[0058] 设置模块410,适于根据基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点。
[0059] 用户行为包括如用户浏览了某个页面、用户点击了某个按钮、用户执行了某个具体操作等等。在应用的代码中通过埋点可以收集上述用户行为对应的数据信息,但需要针对每个具体的用户行为均设置埋点,埋点需要大量的代码才能实现,工作量较大。
[0060] 为提升工作效率,也使得整个埋点及后续分析等工作简便,设置模块410基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点。具体的,基于用户行为分类包括如将用户行为进一步抽象,如用户行为为浏览推荐页面、浏览书籍、浏览查询结果页面、打开页面、上下移动页面或翻页等都可以将用户行为概括为浏览;用户行为为点击查看按钮、点击打开链接、点击图片链接等都可以将用户行为概括为点击。具体可以根据实际的实施情况将用户行为分为合适的类型。设置模块410从用户行为本质进行分类,将用户行为概括为浏览、点击、下载等几大类行为。设置模块410仅对这几大类用户行为在应用的服务器和客户端中设置埋点;或者设置模块410还可以将不属于用户行为分类的如用户在不同界面或页面间的跳转行为、应用各模块间信息交互行为等行为去除,不设置其对应的埋点等,一方面减少埋点数量,使得埋点更集中在用户行为的具体操作上,同时,后续的收集可以减少不必要的信息,收集到更准确的用户行为的数据信息。
[0061] 设置模块410基于用户行为进行分类,可以将用户行为分为如浏览、点击、下载等用户行为类型。设置模块410在埋点时,根据不同的用户行为类型设置不同的埋点,如点击用户行为类型,设置模块410设置点击类的埋点,涵盖全部的点击用户行为。设置模块410通过对用户行为分类,涵盖所需的全部用户行为。基于用户行为分类后设置的埋点,从用户行为本身出发,可以屏蔽应用中的具体的业务、操作等,使得应用中需求发生变化时,不影响埋点的设置,可以在设置模块410一次埋点后,适用于多变的应用需求。即当应用中的代码因需求改变发生变动时,设置模块410的埋点不需要进行修改。
[0062] 收集模块420,适于收集埋点在被触发后产生的数据信息。
[0063] 收集模块420在埋点在被用户触发后,如用户点击了某按钮或者链接等,触发与该点击相关的埋点,收集模块420收集相应的数据信息;或用户打开某界面或页面、拖动某界面或页面上下移动、左右翻页等,触发与浏览相关的埋点,收集模块420收集相应的数据信息。其中,数据信息可以包括了如用户标识、用户行为标识、用户行为发生时间、用户行为发生地址等信息。用户标识记录了执行该行为的用户信息如用户ID等。用户行为标识记录了用户具体的行为,此处用户行为标识可以包括浏览、点击、下载等用户行为标识。用户行为发生时间记录了该用户行为发生的具体时间。用户行为发生地址可以包括了如用户行为发生地址的页面信息、地址页面中的模块信息、地址页面中具体的标签信息如按钮、链接、图片等等。
[0064] 收集模块420收集的数据信息可以包括如图2a的页面,用户XXX在2017-02-23 16:20:17浏览了页面A,页面A为查询结果页面。收集模块420收集的数据信息中记录了用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 16:20:17、用户行为发生地址为页面A。数据信息还可以包括如图2b所示,用户XXX在2017-02-23 16:20:50点击了页面A链接B,页面A为查询结果页面,链接B为《三生三世十里桃花》链接。收集模块420收集的数据信息中记录了用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 
16:20:50、用户行为发生地址为页面A链接B。数据信息还可以包括如图2c所示,用户XXX在
2017-02-23 16:21:06点击了页面C的按钮D,页面C的按钮D为图2c所示的全本下载按钮。收集模块420收集的数据信息中记录了用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:21:06、用户行为发生地址为页面C的按钮D。需要说明的是,在该用户行为后,服务器下载模块的埋点也会被触发,产生相应的数据信息。收集模块420收集的数据信息中记录用户标识为XXX、用户行为标识为下载、用户行为发生时间为2017-02-23 
16:21:07、用户行为发生地址为页面C的按钮D。该条数据信息由服务器的埋点触发后产生。
进一步,根据埋点被触发产生的数据信息的不同,用户行为发生地址还可以为如图2d所示的书籍E第F页等信息。根据埋点的不同,用户行为发生地址可以包括以上的一项或多项。以上均为举例说明,数据信息根据实施情况进行设置,此处不做限定。
[0065] 收集模块420还适于将埋点在被触发后产生的数据信息存储在指定位置。收集模块420可以将数据信息按照用户标识、用户行为标识等进行分类存储。如收集模块420将收集到的数据信息按照用户标识进行划分,将数据信息按照同一用户标识分别存储,先按照用户标识建立文档,再将该同一用户标识的数据信息存储在该文档中;或者收集模块420将收集到的数据信息按照用户行为标识进行划分,先按照用户行为标识建立文档,再将该同一用户行为标识的数据信息存储在该文档中;或者收集模块420将以上两者方式综合,同一用户标识、同一用户行为标识的数据信息存在同一文档中等等。进一步,收集模块420还可以将数据信息先存储在用户终端设备本地。在用户终端设备再次启动应用时或者数据信息的大小达到预设存储大小时,收集模块420再将收集到的数据信息一并发送给数据分析中心或服务器,以避免在每次收集到数据信息后就直接发送给数据分析中心或服务器造成的通信连接频繁建立与断开、多用户的数据信息同时发送速度较慢等等问题。以上均为举例说明,具体存储方式根据实施情况进行实施,此处不做限定。
[0066] 排列模块430,适于将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表。
[0067] 排列模块430根据数据信息中的用户行为发生时间,将数据信息按照时间顺序进行排列。其中,用户标识可以为同一用户标识,也可以为不同用户标识。为还原模块440在分析上更为便利,排列模块430优选将同一用户标识的数据信息按照用户行为发生时间进行排列,得到同一用户标识的以时间轴为顺序的数据信息列表。
[0068] 排列模块430可以将同一用户标识的数据信息按照该用户行为发生时间倒序进行排列,得到以时间轴为顺序的同一用户标识的数据信息列表。如排列模块430将数据信息按照用户行为发生时间的倒序进行排列,得到数据信息列表为:数据信息1时间2017-02-23 16:21:07:用户标识为XXX、用户行为标识为下载、用户行为发生时间为2017-02-23 16:21:
07、用户行为发生地址为页面C的按钮D。数据信息2时间2017-02-23 16:21:06:用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:21:06、用户行为发生地址为页面C的按钮D。数据信息3时间2017-02-23 16:20:50:用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:20:50、用户行为发生地址为页面A链接B。数据信息4时间2017-02-23 16:20:17:用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 16:20:17、用户行为发生地址为页面A。此处排列模块430得到的数据信息列表以时间倒序排列,方便根据后一发生的用户行为向前追溯,找到其对应的前一用户行为轨迹。
[0069] 还原模块440,适于对数据信息列表进行分析,还原构建用户行为树。
[0070] 还原模块440对数据信息列表进行分析时,需要按照用户行为发生时间的顺序依次分析。还原模块440结合数据信息中的用户行为标识各自的特性,找到其前一时间点的数据信息,判断两个数据信息是否具有上下文关联关系。若两个数据信息具有上下文关联关系,将两个数据信息进行关联,得到用户行为树中的一个分支。若两个数据信息不具有上下文关联关系,将两个数据信息作为用户行为树中的不同分支。
[0071] 还原模块440对数据信息列表进行分析时,首先获取时间最新的数据信息,根据该数据信息中的用户行为标识进行分析。如用户行为标识为点击时,还原模块440结合其用户行为发生地址,若用户行为发生地址为搜索结果页面中的打开按钮,可以得知用户行为为用户点击了搜索结果中的某一个打开按钮。还原模块440可以去获取用户行为发生时间在其之前、用户行为发生地址中的搜索结果页面与其相同、用户行为标识为浏览的数据信息。还原模块440将这两条数据信息进行关联。如数据信息1为用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 09:00:09、用户行为发生地址为页面A链接B。数据信息2为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 08:59:
33、用户行为发生地址为页面A。还原模块440可以将两条数据信息进行关联。
[0072] 关联时需要注意,若还原模块440分析后存在多条符合以上条件的数据信息,该多条数据信息仅仅是时间不同且时间相隔较短的情况,且多条数据信息均为同一用户行为标识,之间不存在其他用户行为标识时,即多条数据信息之间不存在用户行为标识为浏览以外的其他用户行为标识,用户一直在该搜索结果页面进行了多次跳转如将搜索结果页面进行翻页操作等,还原模块440可以选择时间最接近的一条数据信息进行关联,也可以选择时间最远的一条数据信息即用户第一次浏览该搜索结果页面的数据信息进行关联。如数据信息1为用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 09:00:09、用户行为发生地址为页面A链接B。数据信息2为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 08:59:33、用户行为发生地址为页面A。数据信息3为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 08:59:12、用户行为发生地址为页面A。数据信息4为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 08:58:50、用户行为发生地址为页面A。还原模块440可以将数据信息1与数据信息2进行关联,也可以将数据信息1与数据信息4进行关联。若还存在数据信息5为用户标识为XXX、用户行为标识为下载、用户行为发生时间为2017-02-23 07:21:07、用户行为发生地址为页面C的按钮D。数据信息6为用户标识为XXX、用户行为标识为浏览、用户行为发生时间为
2017-02-23 07:00:50、用户行为发生地址为页面A。还原模块440不可以将数据信息1与数据信息6进行关联。以上均为举例说明,具体关联关系根据实施情况进行设置,此处不做限定。
[0073] 还原模块440根据用户行为发生地址、用户行为标识的上下文关联关系等按照顺序将数据信息列表中的数据信息进行分析、处理,将相邻的多条数据信息按照其可能的关系建立对应的树形关联关系,如根据数据信息列表:数据信息1时间2017-02-23 16:21:07:用户标识为XXX、用户行为标识为下载、用户行为发生时间为2017-02-23 16:21:07、用户行为发生地址为页面C的按钮D。数据信息2时间2017-02-23 16:21:06:用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:21:06、用户行为发生地址为页面C的按钮D。数据信息3时间2017-02-23 16:20:50:用户标识为XXX、用户行为标识为点击、用户行为发生时间为2017-02-23 16:20:50、用户行为发生地址为页面A链接B。数据信息4时间2017-02-23 16:20:17:用户标识为XXX、用户行为标识为浏览、用户行为发生时间为
2017-02-23 16:20:17、用户行为发生地址为页面A。数据信息5时间2017-02-23 13:11:08:
用户标识为XXX、用户行为标识为浏览、用户行为发生时间为2017-02-23 13:11:08、用户行为发生地址为书籍E第F页。还原模块440还原构建的数据行为树为:分支1:数据信息1->数据信息2->数据信息3->数据信息4,分支2:数据信息5。用户行为由于其非线性特征,因此还原模块440还原构建的用户行为树可以具有多个分支,形成树形关联关系。
[0074] 根据本发明提供的用户树构建装置,基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点;收集埋点在被触发后产生的数据信息。将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表。对数据信息列表进行分析,还原构建用户行为树。基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点,不需要再设置与收集用户行为跳转信息相关的代码,减少了相对应的需要编写大量代码的工作量,节约了人工成本。埋点根据用户行为类型进行设置,不影响应用中原有的代码逻辑,不需要人工查找确认埋点位置。进一步,由于埋点基于用户行为类型设置,已经涵盖基本的用户行为,一次埋点就可以得到用户行为树所需的数据信息。当应用根据用户需求发生变化进行调整时,埋点不需要进行再次调整。埋点在被触发后收集其产生的数据信息可以有效的得到用户行为,避免了现有技术中使用SessionID但由于SessionID本身的特性造成的用户行为的数据信息丢失,无法获取的问题。同时,将数据信息按照时间顺序进行排列,根据时间轴顺序对数据信息列表进行分析,还原构建用户行为树。不需要再通过用户行为之间的前后关系去构建用户行为树,极大的减少了为获取用户行为前后关系的而编写的代码量和各个模块间的通信成本,也不需要再去获取用户行为之外的关系数据信息,仅收集用户行为的数据信息,减少了无用信息的收集,也节省了收集无用数据信息的网络流量消耗。同时,也避免了因SessionID缺失、refer链断裂等情况造成的用户行为前后关系无法获取等问题。利用本发明可以有效的收集用户行为的数据信息,也使得收集的数据信息更加精准,有利于后期分析。通过对数据信息进行分析还原构建用户行为树,减少代码开发量及维护等成本,提高工作效率。
[0075] 实施例四
[0076] 本申请实施例四提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用户行为树构建方法。
[0077] 实施例五
[0078] 图5示出了根据本发明实施例五的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
[0079] 如图5所示,该服务器可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
[0080] 其中:
[0081] 处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
[0082] 通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
[0083] 处理器502,用于执行程序510,具体可以执行上述用户行为树构建方法实施例中的相关步骤。
[0084] 具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
[0085] 处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
[0086] 存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0087] 程序510具体可以用于使得处理器502执行以下操作:
[0088] 在一种可选的实施方式中,程序510用于使得处理器502基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点;收集埋点在被触发后产生的数据信息;将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表;对数据信息列表进行分析,还原构建用户行为树。
[0089] 在一种可选的实施方式中,程序510用于使得处理器502基于用户行为进行分类,将用户行为分为浏览、点击和/或下载用户行为类型,按照不同用户行为类型在服务器和客户端中设置对应的埋点。
[0090] 在一种可选的实施方式中,数据信息包括用户标识、用户行为标识、用户行为发生时间和/或用户行为发生地址;用户行为标识包括浏览、点击和/或下载;用户行为发生地址包括地址的页面信息、地址的模块信息和/或地址的标签信息。
[0091] 在一种可选的实施方式中,程序510用于使得处理器502将埋点在被触发后产生的数据信息存储在指定位置;数据信息按照用户标识和/或用户行为标识进行分类存储。
[0092] 在一种可选的实施方式中,程序510用于使得处理器502将同一用户标识的数据信息按照该用户行为发生时间倒序进行排列,得到以时间轴为顺序的同一用户标识的数据信息列表。
[0093] 在一种可选的实施方式中,程序510用于使得处理器502对数据信息列表进行分析,按照用户行为发生时间顺序,根据用户行为发生地址和/或用户行为标识的上下文关联关系进行处理,将相邻的多条数据信息建立树形关联关系,还原构建同一用户标识的用户行为树。
[0094] 程序510中各步骤的具体实现可以参见上述用户行为树构建实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0095] 通过本实施例提供的方案,基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点;收集埋点在被触发后产生的数据信息。将数据信息按照时间顺序进行排列,得到以时间轴为顺序的数据信息列表。对数据信息列表进行分析,还原构建用户行为树。基于用户行为进行分类,按照不同用户行为类型在服务器和客户端中设置对应的埋点,不需要再设置与收集用户行为跳转信息相关的代码,减少了相对应的需要编写大量代码的工作量,节约了人工成本。埋点根据用户行为类型进行设置,不影响应用中原有的代码逻辑,不需要人工查找确认埋点位置。进一步,由于埋点基于用户行为类型设置,已经涵盖基本的用户行为,一次埋点就可以得到用户行为树所需的数据信息。当应用根据用户需求发生变化进行调整时,埋点不需要进行再次调整。同时,将数据信息按照时间顺序进行排列,根据时间轴顺序对数据信息列表进行分析,还原构建用户行为树。不需要再通过用户行为之间的前后关系去构建用户行为树,极大的减少了为获取用户行为前后关系的而编写的代码量和各个模块间的通信成本,也不需要再去获取用户行为之外的关系数据信息,仅收集用户行为的数据信息,减少了无用信息的收集,也节省了收集无用数据信息的网络流量消耗。利用本发明可以有效的收集用户行为的数据信息,也使得收集的数据信息更加精准,有利于后期分析。通过对数据信息进行分析还原构建用户行为树,减少代码开发量及维护等成本,提高工作效率。
[0096] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0097] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0098] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0099] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0100] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0101] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用户树构建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0102] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。