具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本申请作进一步详细描述。
图1为本申请一个实施例的形成用户操作路径的方法流程图。根据本申请的方法1至少包括步骤110、步骤120、步骤130。
其中用户操作路径是用户从进入特定网站的页面开始到离开该特定网站的页面的过程中执行的按照时间顺序的动作的序列,该序列中的每个动作作为用户操作路径中的一个关键点。例如,用户进入A网站主页,点击主页上的“实事新闻”,为用户显示“实事新闻”的分页面;然后用户点击“反腐力度又创新高,又落马三只大老虎”的新闻链接,为用户显示“反腐力度又创新高,又落马三只大老虎”的新闻;用户对这个新闻很感兴趣,点击“收藏”键,成为用户的“我的收藏”中的文档;最后用户在新闻下面“我来说几句”的评论框里发表评论,后离开网页。在这个过程中,用户操作路径为:点击主页上的“实事新闻”→点击“反腐力度又创新高,又落马三只大老虎”的新闻链接→点击“收藏”键→写评论。这四个动作中的每一个都可以认为是一个关键点,例如图4a-b中的圆圈节点。
参考图1,在步骤110中,收集用户在网站执行动作时发出的请求的请求地址和参数及触发的页面埋点数据。
其中,用户在网站执行动作时发出的请求包括页面访问请求和异步请求,所述请求地址和参数包括页面访问请求中的请求地址和参数和异步请求中的请求地址和参数。页面访问请求例如:点击主页上的“实事新闻”,此时要打开一个新的分页面---“实事新闻”分页面,因此向网站服务器发出的是一个页面访问请求。异步请求例如:点击“收藏”键,此时并不需要打开一个新的分页面,因此发出的不是页面访问请求,是一个异步请求。
页面访问请求的请求地址例如请求访问的页面的URL。页面访问请求的参数包括用户的账户状态、权限等参数。同一URL的页面虽然地址相同,但在不同的账户状态、权限之下,向用户显示的内容可能不同。例如,“高级用户”点击“实事新闻”,为其显示的新闻数量可能比“低级用户”多些。如果A用户和B用户分别是“高级用户”和“低级用户”,都点击“实事新闻”,此时页面访问请求的请求地址相同,但账户状态、权限等参数不同,因此认为这两个用户的动作是不同的关键点。
同样,异步请求的请求地址例如当用户点击“收藏”键时为该用户分配的“我的收藏”存储空间的地址。异步请求的参数例如用户的账户状态、权限等其它参数。例如,如果用户为“高级用户”,可能为用户分配一个比较大的“我的收藏”存储空间;如果用户为“普通用户”,可能为用户分配的“我的收藏”存储空间较小。
当用户例如通过点击页面上的一个链接,向网站服务器发请求时,该请求中包含用户信息和上述请求地址和参数。在网站服务器端,所述请求地址和参数是从用户在网站执行动作时发出的请求中去掉用户信息得到的。该用户信息例如用户标识、用户ID等信息。
并不是用户在网站执行的所有动作都会触发一个请求,从而发出请求地址和参数。有些动作,例如上面提到的“写评论”的动作,既不触发页面访问请求,也不触发异步请求,因此是不发出请求地址和参数的。为了能收集到用户在网站可能产生的所有动作,要利用页面埋点数据。
埋点是一种现有技术。页面埋点是指在页面中插入埋点代码(例如,JavaScript代码),从而当用户在页面埋点处进行操作时,触发埋点代码通过浏览器向进行网站服务器发送用户操作的相关数据。例如,为了收集用户“写评论”的动作,预先在网页上“我来说几句”的评论框处插入埋点代码。当用户在该评论框处发表评论时,就触发埋点代码将用户在该评论框处写评论的数据(例如在哪个位置写、写了多长时间、写了几行等)作为触发的页面埋点数据发给网站服务器。
页面埋点可以放在产生跳转的链接上,也可以放在页面中的控件上(如文本框控件、按钮控件、复选控件等)。
在步骤120中,基于所述发出的请求的请求地址和参数及触发的页面埋点数据确定关键点。
例如,当收集到用户发出的请求含有“实事新闻”的分页面的URL、以及指示用户是“高级用户”等的参数时,确定出高级用户点击“实事新闻”选项这样一个关键点。再例如,当收集到某评论框处触发的页面埋点数据,页面埋点数据显示该用户在“我想说几句”评论框输入了18个字等时,确定出在“我想说几句”评论框用户进行了评论这样一个关键点。
在步骤130中,按照确定关键点的时间顺序将生成的关键点连成用户操作路径。
对于确定的关键点,可以按照相应请求地址和参数及触发的页面埋点数据的接收时间顺序连成用户操作路径;或者,可以根据与确定的关键点对应的接收到的请求地址和参数及触发的页面埋点数据中携带的操作时间信息,将关键点练成用户操作路径;或者,还可以边确定关键点,并将关键点按关键点确定出来的先后顺序连成用户操作路径。
参考图2,基于另一实施例,该生成用户操作路径的方法还包括步骤140、步骤150。
在步骤140中,保存所述用户操作路径。
其中,如果已保存有与所述用户操作路径相同的用户操作路径,则将所述用户操作路径的计数加一。即,只将已保存的与该用户操作路径相同的用户操作路径的计数加一,而不再重新保存一次该用户操作路径。如果未保存有与所述用户操作路径相同的用户操作路径,则保存所述用户操作路径。
在步骤150中,将保存的用户操作路径进行可视化展示。
参考图3,图3例示了根据本申请一个实施例的将保存的用户操作路径进行可视化展示的一个例子的步骤的具体流程图,但可视化展示的方式不限于此。
在一个具体实施例中,将保存的用户操作路径进行可视化展示的步骤具体包括以下子步骤:
子步骤151,设置起始关键点。
具体而言,可以根据业务特点设置起始关键点,例如,需要收集进入某一页面后的用户操作路径时,用户首先进行的动作是访问该页面。可以设置“用户进入该页面”为起始关键点。
子步骤152,在保存的用户操作路径中查找含有所述起始关键点的用户操作路径。
这里的保存的用户操作路径包括保存的访问该网站的所有用户的用户操作路径。
子步骤153,将含有所述起始关键点的用户操作路径合并,从而生成用户操作路径展示图。
参考图4a,图4a所示为根据本申请实施例的用户操作路径展示图。其中所示出的用户操作路径各不相同,也即是说,相同的用户操作路径在图4a中表示为一条用户操作路径。
如图4a所示,每个圆圈代表一个关键点,每条用户操作路径中的每两个关键点之间用箭头连接,从一个关键点指向另一个关键点的箭头的指向表示了两个关键点被触发的时间先后顺序,箭头起始处的关键点为两个关键点中先被触发的关键点,箭头指向处的关键点为两个关键点中后被触发的关键点。
根据本申请将含有所述起始关键点的用户操作路径合并,从而生成用户操作路径展示图的子步骤(子步骤153)的一个具体的实施方式为:将含有所述起始关键点的用户操作路径在各用户操作路径的首次出现的所述起始关键点处合并,从而生成以所述起始关键点为起点的用户操作路径展示图。如图4a所示,其中,关键点2被设置为起始关键点,将各个含有起始关键点2的用户操作路径,在各用户操作路径的首次出现起始关键点2处合并,多条用户操作路径在起始关键点2处汇聚在一起,从而形成了以该起始关键点为起点的用户操作路径展示图。
子步骤154,显示所述用户操作路径展示图。
其中,可以在浏览器中显示所述用户操作路径展示图。
可选地,在本申请的一种实施方式中,在生成的用户操作路径展示图中,若存在任意一条或多条用户操作路径在首次出现的起始关键点(各用户操作路径合并处的起始关键点)之前还有关键点,则在该用户操作路径展示图中,还显示该一条或多条用户操作路径首次出现的起始关键点之前的一个关键点(可以参考图4a中,在起始关键点2左侧显示出的三个关键点)。该关键点目前在图4a中表示成半透明。当用户需要查看在用户操作路径在首次出现的起始关键点之前的其它所有关键点时,点击该半透明的关键点,在用户操作路径在首次出现的起始关键点之前的其它所有关键点就都会显示出来。用户也可以通过追溯在用户操作路径在首次出现的起始关键点之前的其它所有关键点,选择更合适的起始关键点。
可选地,在本申请的一种实施方式中,可以合并各用户操作路径中相同的关键点,也就是说,将各个操作路径中相同的关键点用一个关键点来表示,以便在进行用户操作路径的分析时,可以将各个用户操作路径进行差异对比。
本申请通过用户操作路径展示图对用户操作路径进行可视化展示,能够直观反映操作过程中遇到的问题。
参考图5,基于另一实施例,可选地,相比于图2,该生成用户操作路径的方法还包括步骤160~步骤161。
在步骤160中,统计含有所述起始关键点的各用户操作路径的计数在含有所述起始关键点的所有用户操作路径的计数的和中的占比。
其中,已经保存有各个用户操作路径的计数,则计算含有该起始关键点的各个用户操作路径的计数与含有该起始关键点的所有用户操作路径的计数之和的比值,从而得到各个含有所述起始关键点的各用户操作路径的计数在含有该起始关键点的所有用户操作路径的计数的和中的占比。
在步骤161中,在用户操作路径展示图的相应位置显示所述占比。参考图4b,图4b为根据本申请的实施例的在相应位置显示各用户操作路径的计数在含有起始关键点的所有用户操作路径的计数的和中的占比的用户操作路径展示图,其中,占比用百分数表示。图中“75%”、“10%”等数值表示其相对应位置处的用户操作路径的计数在含有该起始关键点的所有用户操作路径的计数的和中的占比。
在上述实施例中,通过对各含有所述起始关键点的用户操作路径计数在含有所述起始关键点的所有用户操作路径的计数的和中的占比的统计,能够便于发现用户网站操作中的主要问题。
参考图6,基于另一实施例,可选地,相比于图2,该生成用户操作路径的方法还包括步骤170~步骤171。
在步骤170中,绘制在预定时间段内含有所述起始关键点的各用户操作路径的计数在含有所述起始关键点的所有用户操作路径的计数的和中的占比的占比变化曲线图。具体而言,可以以“天”为单位统计在预定时间段内的每一天中各含有该起始关键点的用户操作路径的计数在含有该起始关键点的所有用户操作路径的计数的和中的占比,再根据统计的在预定时间段内每一天各含有该起始关键点的用户操作路径的计数在含有该起始关键点的所有用户操作路径的计数的和中的占比,分别针对各个含有所述起始关键点的各用户操作路径,绘制成预定时间段内该用户操作路径的计数在含有所述起始关键点的所有用户操作路径的计数的和中的占比的占比变化曲线图。参考图7a,图7a为根据本申请实施例的在预定时间段内一含有起始关键点的用户操作路径的计数在含有起始关键点的所有用户操作路径的计数的和中的占比的占比变化曲线图,其中,横轴表示日期,纵轴表示该用户操作路径的计数在含有起始关键点的所有用户操作路径的计数的和中的占比,图7a中示出了从10月3日至10月10日这段时间内,该含有起始关键点用户操作路径的计数在含有起始关键点的所有用户操作路径的计数的和中的占比的占比变化曲线。
在步骤171中,响应于在所述用户操作路径展示图上的用户操作路径的第一预定操作,显示进行了该第一预定操作的用户操作路径的占比变化曲线图。
其中,第一预定操作可以为鼠标点击、鼠标悬停、触摸点击等操作,本申请在此不做限制,该第一预定操作可以为作用在用户操作路径上预定位置的操作,例如,作用在某一用户操作路径的任意一个关键点处,或者作用在该用户操作路径上任意一个连接两个关键点的箭头处。如果在该用户操作路径展示图上接收到对任意一个用户操作路径的第一预定操作,则响应于该第一预定操作显示该用户操作路径的在含有该起始关键点的所有用户操作路径的计数的和中的占比的占比变化曲线图。其中,该用户操作路径的占比变化曲线图可以显示在用户操作路径展示图的预定位置,例如,为不影响该用户操作路径展示图的整体展示效果,显示在该用户操作路径展示图左下角的空白处,或者显示的形式可以为悬浮显示(悬浮显示可以为不透明形式或透明、半透明形式)。
参考图8,基于图2、图3所示的实施例,可选地,该生成用户操作路径的方法还包括步骤180~步骤181。
在步骤180中,绘制在预定时间段内含有所述起始关键点的各用户操作路径的计数的计数变化曲线图。具体而言,可以以“天”为单位统计在预定时间段内每一天的含有该起始关键点的各用户操作路径的计数,再根据统计的各个含有该起始关键点的用户在每一天中的计数,分别绘制成各用户操作路径的计数的计数变化曲线图。参考图7b,图7b为根据本申请实施例的在预定时间段内一含有起始关键点的用户操作路径的计数的计数变化曲线图,其中,横轴表示日期,纵轴表示该用户操作路径的计数,图7b中示出了从10月3日至10月10日这段时间内,该含有起始关键点的用户操作路径的计数的计数变化曲线。
在步骤181中,响应于在所述用户操作路径展示图上的用户操作路径的第二预定操作,显示进行了该第二预定操作的用户操作路径的计数变化曲线图。
其中,第二预定操作例如可以为鼠标点击、鼠标悬停、触摸点击等操作,本申请在此不做限制,该第二预定操作可以为作用在用户操作路径上预定位置的操作,例如,作用在某一用户操作路径的任意一个关键点处,或者作用在该用户操作路径上任意一个连接两个关键点的箭头处的操作。
如果在该用户操作路径展示图上接收到对任意一个用户操作路径的第二预定操作,则响应于该第二预定操作显示该用户操作路径的计数的计数变化曲线图。其中,该用户操作路径的计数的计数变化曲线图可以显示在用户操作路径展示图的预定位置,例如,为不影响该用户操作路径展示图的整体展示效果,将该用户操作路径的计数的计数变化曲线图显示在该用户操作路径展示图左下角的空白处,或者可以将该用户操作路径的计数的计数变化曲线图悬浮显示在该用户操作路径展示图的任意位置(其中,悬浮的形式可以为不透明或透明、半透明形式)。
基于上述图6和图8所示的实施例,本申请的一种可选的实施方式为:将在预定时间段内含有所述起始关键点的各用户操作路径的计数的计数变化曲线图,以及在预定时间段内含有所述起始关键点的各用户操作路径的计数在含有所述起始关键点的所有用户操作路径的计数的和中的占比的占比变化曲线图绘制在一起,形成在预定时间段内含有所述起始关键点的各用户操作路径的占比变化及计数变化曲线图,从而,响应于在所述用户操作路径展示图上的用户操作路径的第三预定操作,显示进行了该第三预定操作的用户操作路径的占比变化及计数变化曲线图。
具体可参考图7c所示,图7c为根据本申请实施例的在预定时间段内一用户操作路径的占比及计数变化曲线图。其中,第三预定操作例如可以为鼠标点击、鼠标悬停、触摸点击等操作,本申请在此不做限制,该第三预定操作可以为作用在用户操作路径上预定位置的操作,本实施例的具体的实施过程可结合并参考图6和图8所示的实施例,在此不做赘述。
在上述实施例中,对预定时间段内含有所述起始关键点的各用户操作路径的计数在含有所述起始关键点的所有用户操作路径的计数的和中的占比的占比变化曲线图的展示,以及对在预定时间段内含有所述起始关键点的各用户操作路径的计数的计数变化曲线图的展示,能够直观体现对网站进行交互优化的效果。
参考图9,基于图2、图3所示的实施例,可选地,该生成用户操作路径的方法还包括步骤190。
在步骤190中,响应于对在所述用户操作路径展示图上任一关键点的预定操作,显示该关键点的描述信息。
其中,所述关键点的描述信息包括关键点名称、关键点说明等描述信息,具体地,可以预先设置各关键点的名称或添加关键点说明等描述信息。所述预定操作例如可以为选定操作,如通过鼠标点击进行的选定操作、或通过触摸点击进行的选定操作,本申请不限于此。通过显示关键点的描述信息可以增加用户操作路径展示图的可读性,便于更加直观的对用户操作路径进行分析。
本申请的技术方案通过收集用户在网站执行动作时发出的请求的请求地址和参数及触发的页面埋点数据,从而生成完整的用户操作路径,能够精确还原用户的操作习惯,定位用户操作中的问题。并且,通过可视化展示图对用户操作路径进行展示,能够直观地反映用户操作过程中遇到的问题。
基于与方法同样的发明构思,本申请还提供一种形成用户操作路径的装置,图10所示为形成用户操作路径的装置10示意图。
其中用户操作路径是用户从进入特定网站的页面开始到离开该特定网站的页面的过程中执行的按照时间顺序的动作的序列,该序列中的每个动作作为用户操作路径中的一个关键点,该装置包括:
收集模块1010,用于收集用户在网站执行动作时发出的请求的请求地址和参数及触发的页面埋点数据;
关键点确定模块1020,用于基于所述发出的请求的请求地址和参数及触发的页面埋点数据确定关键点;
用户操作路径连成模块1030,用于按照确定关键点的时间顺序将生成的关键点连成用户操作路径。
可选地,参考图11,该形成用户操作路径的装置10还包括:
保存模块1040,用于保存所述用户操作路径;
展示模块1050,用于将保存的用户操作路径进行可视化展示。
可选地,所述请求地址和参数是从用户在网站执行动作时发出的请求中去掉用户信息得到的。
可选地,所述保存模块1040被配置为:如果已保存有与所述用户操作路径相同的用户操作路径,则将所述用户操作路径的计数加一;
如果未保存有与所述用户操作路径相同的用户操作路径,则保存所述用户操作路径。
可选地,参考图12,图12所示为根据本申请实施例的展示模块1050的结构示意图,其中,所述展示模块1050包括:
设置子模块1051,用于设置起始关键点;
查找子模块1052,用于在保存的用户操作路径中查找含有所述起始关键点的用户操作路径;
合并子模块1053,用于将含有所述起始关键点的用户操作路径合并,从而生成用户操作路径展示图;
显示子模块1054,用于显示所述用户操作路径展示图。
可选地,所述合并子模块1053被配置为:
将含有所述起始关键点的用户操作路径在各用户操作路径的首次出现的所述起始关键点处合并,从而生成以所述起始关键点为起点的用户操作路径展示图。
可选地,参考图13,基于图11、图12所示的实施例,该形成用户操作路径的装置还包括:
统计模块1060,用于统计含有所述起始关键点的各用户操作路径的计数在含有所述起始关键点的所有用户操作路径的计数的和中的占比;
占比显示模块1061,用于在用户操作路径展示图的相应位置显示所述占比。
可选地,参考图14,基于图11、图12所示的实施例,该形成用户操作路径的装置还包括:
第一绘制模块1070,用于绘制在预定时间段内含有所述起始关键点的各用户操作路径的计数在含有所述起始关键点的所有用户操作路径的计数的和中的占比的占比变化曲线图;
第一显示模块1071,用于响应于在所述用户操作路径展示图上的用户操作路径的第一预定操作,显示进行了该第一预定操作的用户操作路径的占比变化曲线图。
可选地,参考图15,基于图11、图12所示的实施例,该形成用户操作路径的装置还包括:
第二绘制模块1080,用于绘制在预定时间段内含有所述起始关键点的各用户操作路径的计数的计数变化曲线图;
第二显示模块1081,用于响应于在所述用户操作路径展示图上的用户操作路径的第二预定操作,显示进行了该第二预定操作的用户操作路径的计数变化曲线图。
可选地,参考图16,基于图11、图12所示的实施例,该形成用户操作路径的装置还包括:
描述信息显示模块1090,用于响应于对在所述用户操作路径展示图上任一关键点的预定操作,显示该关键点的描述信息。
由于本实施例的装置所实现的功能基本相应于前述图1至图9所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,本申请的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。