用户反馈方法及其装置、设备、介质与流程

文档序号:33498210发布日期:2023-03-17 21:29阅读:65来源:国知局
用户反馈方法及其装置、设备、介质与流程

1.本技术涉及通信技术领域,尤其涉及一种用户反馈方法及其相应的装置、计算机设备、计算机可读存储介质。


背景技术:

2.基于web服务搭建的平台化系统,其中除了向用户提供主要业务流程相关的服务以外,常常还需实现提供一类服务,即对服务流程实现、服务工具使用等过程中产生的问题进行处理。通常这类服务通过接收用户反馈信息,根据其解决用户遇到的问题,一般问题例如服务工具的操作使用不清楚或有误等,可以通过各种帮助文档或者接入人工客服得以解决,但是特殊问题例如系统服务异常出现bug、请求无法响应等,需要将特殊问题复现以将其解决。对此,现有技术中,基于用户反馈其遇到特殊问题时对相应情形下的语言描述,以复现特殊问题,然而单靠这样的语言描述不足以充分复原特殊问题,使得难以甚至无法将其解决。此外,基于用户反馈其遇到特殊问题时相应清情形下所执行操作的录制视频,以复现特殊问题,然而这样的录制视频能观测到用户的相应的可视化操作,但是导致特殊问题发生不局限于用户操作,故而也不足以充分复现特殊问题,使得难以甚至无法将其解决。不仅如此,这样的录制视频通常需要用户自觅视频录制软件录制,十分不便。
3.鉴于传统技术的不足,本技术人做出相应的探索。


技术实现要素:

4.本技术的首要目的在于解决上述问题至少之一而提供一种用户反馈方法及其相应的装置、计算机设备、计算机可读存储介质。
5.为满足本技术的各个目的,本技术采用如下技术方案:
6.适应本技术的目的之一而提供的一种用户反馈方法,包括如下步骤:
7.响应页面加载请求,在页面上显示用户反馈入口;
8.响应数据获取请求,获取经所述用户反馈入口提交的用户反馈数据及请求响应数据进行存储,所述用户反馈数据包含描述文本和录制数据,所述录制数据为录制用户在页面上执行的操作而得的预设数据交换格式数据,所述请求响应数据为录制前预设时长内至录制结束过程中,用户在页面上执行操作而产生的请求数据及响应数据;
9.基于所述用户反馈数据及请求响应数据构建通知信息,将其发送至预设的消息端。
10.进一步的实施例中,响应页面加载请求,在页面上显示用户反馈入口之后,还包括如下步骤:
11.拦截页面上用户执行操作而产生的请求数据和响应数据,对所述拦截的请求数据及响应数据进行预处理,将预处理后的请求数据及响应数据进行存储;
12.响应所述录制数据相对应的录制结束事件,从存储中获取录制前预设时长内至录制结束过程中相应的请求数据及响应数据,获得请求响应数据。
13.进一步的实施例中,对所述拦截的请求数据及响应数据进行预处理,包括如下步骤:
14.根据所述响应数据中的状态码,确定出所述请求数据及响应数据中异常的请求数据及响应数据,标记所述异常的请求数据及响应数据;
15.根据预设条件过滤所述拦截的请求数据中的部分数据,及响应数据中的部分数据;
16.进一步的实施例中,响应数据获取请求之前,还包括如下步骤:
17.响应操作录制请求,序列化获得当前录制页面的初始文档对象模型树快照及录制过程中构造的增量快照作为录制数据;
18.响应反馈提交请求,获取经所述用户反馈入口编辑的描述文本,与所述录制数据共同构成用户反馈数据。
19.进一步的实施例中,基于所述用户反馈数据及请求响应数据构建通知信息,将其发送至预设的消息端,包括如下步骤:
20.将所述用户反馈数据中的录制数据及所述请求响应数据中各自的时间戳的对应关系建立关联,而获得播放数据;
21.存储所述播放数据并生成所述播放数据的访问链接;
22.基于所述播放数据的访问链接及所述用户反馈数据中的描述文本构造通知信息,调用预封装的消息通知接口发送所述通知信息。
23.进一步的实施例中,调用预封装的消息通知接口发送所述通知信息之后,还包括如下步骤:
24.响应播放请求,读取所述播放数据中的录制数据及请求响应数据;
25.在场景还原区域中根据所述录制数据中的快照还原出录制过程中的对应页面;
26.在数据区域中加载与被还原的所述录制过程的时间戳相对应的请求响应数据。
27.进一步的实施例,响应操作录制请求,序列化获得当前录制页面的初始文档对象模型树快照及录制过程中构造的增量快照作为录制数据之后,还包括:对所述录制数据中的敏感信息进行脱敏处理,压缩处理后的录制数据。
28.另一方面,适应本技术的目的之一而提供的一种用户反馈装置,包括页面反馈模块、数据获取模块及通知发送模块,其中,页面反馈模块,用于响应页面加载请求,在页面上显示用户反馈入口;数据获取模块,用于响应数据获取请求,获取经所述用户反馈入口提交的用户反馈数据及请求响应数据进行存储,所述用户反馈数据包含描述文本和录制数据,所述录制数据为录制用户在页面上执行的操作而得的预设数据交换格式数据,所述请求响应数据为录制前预设时长内至录制结束过程中,用户在页面上执行操作而产生的请求数据及响应数据;通知发送模块,用于基于所述用户反馈数据及请求响应数据构建通知信息,将其发送至预设的消息端。
29.进一步的实施例中,所述页面反馈模块之后,还包括:请求响应拦截模块,用于拦截页面上用户执行操作而产生的请求数据和响应数据,对所述拦截的请求数据及响应数据进行预处理,将预处理后的请求数据及响应数据进行存储;请求响应获取模块,用于响应所述录制数据相对应的录制结束事件,从存储中获取录制前预设时长内至录制结束过程中相应的请求数据及响应数据,获得请求响应数据。
30.进一步的实施例中,所述请求响应拦截模块,包括:异常标记子模块,用于根据所述响应数据中的状态码,确定出所述请求数据及响应数据中异常的请求数据及响应数据,标记所述异常的请求数据及响应数据;数据过滤子模块,用于根据预设条件过滤所述拦截的请求数据中的部分数据,及响应数据中的部分数据;
31.进一步的实施例中,所述页面反馈模块之前,还包括:录制获取模块,用于响应操作录制请求,序列化获得当前录制页面的初始文档对象模型树快照及录制过程中构造的增量快照作为录制数据;用户反馈构造模块,用于响应反馈提交请求,获取经所述用户反馈入口编辑的描述文本,与所述录制数据共同构成用户反馈数据。
32.进一步的实施例中,所述通知发送模块,包括:数据构建子模块,用于将所述用户反馈数据中的录制数据及所述请求响应数据中各自的时间戳的对应关系建立关联,而获得播放数据;链接生成子模块,用于存储所述播放数据并生成所述播放数据的访问链接;通知发送子模块,用于基于所述播放数据的访问链接及所述用户反馈数据中的描述文本构造通知信息,调用预封装的消息通知接口发送所述通知信息。
33.进一步的实施例中,所述通知发送子模块之后,还包括:数据读取子模块,用于响应播放请求,读取所述播放数据中的录制数据及请求响应数据;录制回放子模块,用于在场景还原区域中根据所述录制数据中的快照还原出录制过程中的对应页面;数据回放子模块,用于在数据区域中加载与被还原的所述录制过程的时间戳相对应的请求响应数据。
34.进一步的实施例中,所述录制获取模块之后,还包括:后处理子模块,用于对所述录制数据中的敏感信息进行脱敏处理,压缩处理后的录制数据。
35.又一方面,适应本技术的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本技术所述的用户反馈方法的步骤。
36.又一方面,适应本技术的另一目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的用户反馈方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
37.本技术的技术方案存在多方面优势,包括但不限于如下各方面:
38.本技术一方面,基于录制前端页面的用户执行的操作而得的录制数据,以及因用户操作而产生的后台数据即请求响应数据,能够完整地复现用户反馈的问题,从而有效将其解决,提高处理用户反馈信息的服务水平。另一方面,用户经页面上显示的用户反馈入口,便可在遇见问题时对执行操作进行相应的描述及录制,十分便捷,提高用户反馈体验。
附图说明
39.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
40.图1为本技术的用户反馈方法的典型实施例的流程示意图;
41.图2为本技术的示范性实施例中的显示用户反馈入口的前端页面的示意图;
42.图3为本技术的实施例中获得请求响应数据的流程示意图;
43.图4为本技术的实施例中预处理拦截所得的请求数据及响应数据的流程示意图;
44.图5为本技术的实施例中获得用户反馈数据的流程示意图;
45.图6为本技术的实施例中构建通知信息将其发送的流程示意图;
46.图7为本技术的实施例中可视化显示录制数据及响应请求数据的流程示意图;
47.图8本技术的示范性实施例中的可视化显示录制数据及请求响应数据的示意图;
48.图9为本技术的用户反馈装置的原理框图;
49.图10为本技术所采用的一种计算机设备的结构示意图。
具体实施方式
50.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
51.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
52.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
53.本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(persona l commun i cat i ons serv i ce,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(persona l d i g ita l ass i stant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(g l oba l pos it i on i ng system,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、m i d(mob i l e i nternet dev i ce,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
54.本技术所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具
备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
55.需要指出的是,本技术所称的“服务器”这一概念,同理也可扩充到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本技术的网络部署方式的实施方式。
56.本技术的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
57.本技术中所引用或可能引用到的神经网络模型,除非明文指定,既可部署于远程服务器且在客户端实施远程调用,也可部署于设备能力胜任的客户端直接调用,某些实施例中,当其运行于客户端时,其相应的智能可通过迁移学习来获得,以便降低对客户端硬件运行资源的要求,避免过度占用客户端硬件运行资源。
58.本技术所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本技术的技术方案所调用即可。
59.本领域技术人员对此应当知晓:本技术的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本技术所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
60.本技术即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本技术的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
61.本技术的一种用户反馈方法,可被编程为计算机程序产品,部署于客户端或服务器中运行而实现,例如,本技术的示例性应用场景中,可以在电商平台的服务器中部署实现,藉此可以通过访问该计算机程序产品运行后开放的接口,通过图形用户界面与该计算机程序产品的进程进行人机交互而执行该方法。
62.请参阅图1,本技术的用户反馈方法,在其典型实施例中,包括如下步骤:
63.步骤s1100、响应页面加载请求,在页面上显示用户反馈入口;
64.所述页面泛指基于web实现的应用程序于前端显示的网页,所述应用程序可加载于多种客户端,例如移动电话、电脑、平板等。
65.当页面需要加载以将其显示时,由客户端生成页面加载请求以获取页面加载所需,将所述页面加载请求发送至服务器。
66.服务器接收所述页面加载请求并对其进行响应,获取页面加载请求指向页面的加载数据包含但不限于页面样式、数据接口、前端框架等,将所述加载数据发送至客户端,以使客户端接收所述加载数据时,显示相应的页面,以及在其上显示用户反馈入口。为了方便
用户随时随处即用户于任何页面、任何时间,均可以在页面上快速找寻到用户反馈入口,直接反馈遇到的问题,可设置所述用户反馈入口在任何页面上均显示且于页面上显示的位置固定即不随页面滚动,具体在页面上显示的样式可由本领域技术人员灵活变通设定。
67.步骤s1200、响应数据获取请求,获取经所述用户反馈入口提交的用户反馈数据及请求响应数据进行存储,所述用户反馈数据包含描述文本和录制数据,所述录制数据为录制用户在页面上执行的操作而得的预设数据交换格式数据,所述请求响应数据为录制前预设时长内至录制结束过程中,用户在页面上执行操作而产生的请求数据及响应数据;
68.请参阅图2,用户可在其客户端显示的页面201上通过触控用户反馈入口200,以触发在当前页面上显示相应的弹窗202而在其中反馈遇到的问题,所述问题泛指用户个人主观抱有疑问的问题,包含但不限于应用程序异常出现bug、操作无响应、操作响应不符合用户设想预期等等。具体而言,用户可在弹窗中相应的文本输入框203内输入遇到的问题时详细操作细节的描述,在弹窗中触控相应的录制控件204以录制遇到问题时在页面上执行的操作,当完成所述输入操作后,将所述输入的文本作为描述文本,当完成所述录制操作后,序列化获得所述录制的用户在页面上执行的操作对应的录制数据,用户可触控弹窗中提交控件,由客户端生成反馈提交请求提交至服务器,以提交所述描述文本及录制数据,服务器接收所述反馈提交请求,获得所述描述文本和录制数据构成用户反馈数据。
69.推荐的实施例中,可监听用户在文本输入框输入的内容对应的字数,当字数超过预设阈值,且无录制数据时,触发在弹窗的录制控件附近区域显示相应提示,以提示用户描述的详细操作细节比较复杂,建议用户可进一步采取触控录制控件录制其描述的详细操作细节,以便于更好复现用户遇到的问题将其解决,所述预设阈值及所述提示内容可由本领域技术人员按照此处相应揭示灵活变通设定。此外,可在用户触控录制控件录制完成后,生成相应的录制数据的大小超过预设阈值,且无描述文本时,触发在弹窗的文本输入框附近区域显示相应的提示,以提示用户录制的操作比较复杂,建议用户可进一步采取在文本输入框内输入其录制的在页面上执行的操作的相应描述,以便于更好复现用户遇到的问题将其解决,所述预设阈值及所述提示内容可由本领域技术人员按照此处相应揭示灵活变通设定。不难理解,本实施例中,通过适当的时机向用户显示相应的提示,能够增进用户对用户反馈流程的两项操作对应的理解,减少用户对用户反馈流程的多项操作的抵触,从而提升人机交互体验。
70.可预设拦截器,以拦截获得用户在录制之前的预设时长内至录制结束过程中对应产生的请求数据及响应数据,构造所述请求响应数据存储至服务器,所述请求数据包含请求头及请求体,所述响应数据包含响应头及响应体,所述预设时长可由本领技术人员按需设定。进一步,所述构造过程中,可对所述拦截的请求数据及响应数据中发生异常的请求数据及响应数据进行标识,以便后续辨识。此外,可对所述拦截的请求数据及响应数据中相对应的部分不必要数据进行过滤,以便减轻后续服务器存储负载及传输负载。
71.所述录制的实现方案可以是基于rrweb实现录制,该录制不是隔一段时间对整个屏幕做截屏,而是记录页面的dom,回放的时候依照所记录的dom,又重新渲染出来。rrweb采取的记录方式是,记录初始页面的dom状态,或者特定某个时刻的dom状态,后续收集的是不同时间点的操作指令或者某个时刻某个dom的变化作为一个增量快照,在初始快照即初始文档对象模型树快照的基础上,不断加入根据行为解析的dom数据,构建了后续的增量快
照,减少大量数据的存储或传输。这个是利用了现代浏览器的mutat ionobserver,该接口提供了监视对dom树所做更改的能力,初始化的时候依照document.readystate状态先全量记录,然后根据这个接口记录下dom的变化过程,这个过程中还要尽量的将页面加载到的资源i n l ine化,避免内网环境无法加载到页面的资源。为此,本技术在项目中安装rrweb库,并执行npmi nsta l l rrweb、rrweb-p l ayer、rrweb-p l ayer为回放依赖包。
72.所述rrweb(record and repl ay the web)是一个实现web页面录制和回放的基础库,它可以将页面中的dom以及用户操作保存为可序列化的数据,以实现远程回放。
73.所述mutat ionobserver是应用于浏览器的一种强大的api,可用来监视dom变动。dom的任何变动,比如节点的增减、属性的变动、文本内容的变动都会触发mutat ionobserver事件。mutat ion observer是异步触发,dom的变动并不会马上触发,而是要等到当前所有dom操作都结束才触发。mutat ion observer有以下特点:它等待所有脚本任务完成后,才会运行(即异步触发方式);它把dom变动记录封装成一个数组进行处理,而不是一条条个别处理dom变动;它既可以观察dom的所有类型变动,也可以指定只观察某一类变动。mutat ionobserver启动监听,接收两个参数。第一个参数:所要观察的dom节点;第二个参数:配置对象,指定所要观察的特定变动。dom每次发生变化,就会生成一条变动记录(mutat ionrecord实例)。该实例包含了与变动相关的所有信息。mutat ion observer处理的就是一个个mutat ionrecord实例所组成的数组。
74.步骤s1300、基于所述用户反馈数据及请求响应数据构建通知信息,将其发送至预设的消息端。
75.生成所述用户反馈数据中的录制数据的访问链接,以通过该访问链接读取所述录制数据调用rrweb组件进行可视化回放显示用户在页面上执行的操作,以及生成所述请求响应数据的访问链接,以通过该访问链接读取所述请求响应数据将其可视化显示,可于沙盒环境下的前端页面进行所述录制数据及请求响应数据相对应的显示。基于所述用户反馈数据中的描述文本、录制数据的访问链接及请求响应数据的访问链接构建通知信息,例如将描述文本作为通知信息的标题文本,将各个访问链接作为通知信息的内容。可基于所需发送到的消息端预先封装消息通知接口,以将所述通知信息发送至相应的消息端,所述消息端包含但不限于手机短信、邮箱、提供即时通讯服务的应用程序。
76.根据本技术的典型实施例可以知晓,本技术的技术方案存在多方面优势,包括但不限于如下各方面:
77.本技术一方面,基于录制前端页面的用户执行的操作而得的录制数据,以及因用户操作而产生的后台数据即请求响应数据,能够完整地复现用户反馈的问题,从而有效将其解决,提高处理用户反馈信息的服务水平。另一方面,用户经页面上显示的用户反馈入口,便可在遇见问题时对执行操作进行相应的描述及录制,十分便捷,提高用户反馈体验。
78.请参阅图3,进一步的实施例中,步骤s1100、响应页面加载请求,在页面上显示用户反馈入口之后,还包括如下步骤:
79.步骤s1110、拦截页面上用户执行操作而产生的请求数据和响应数据,对所述拦截的请求数据及响应数据进行预处理,将预处理后的请求数据及响应数据进行存储;
80.可预设拦截器,以拦截用户执行操作而产生的请求数据和响应数据,所述请求数据包含请求头和请求体,所述请求头是客户端发送给服务器的使用键值对表示一些信息,
包含但不限于客户端的浏览器与操作系统相关信息、当前请求来源路径、请求路径,所述请求体为请求携带的提交给服务器的参数。所述响应数据包含响应头和响应体,所述响应头是服务器返回给客户端的使用键值对表示的一些信息,包含但不限于状态码、指定响应路径,所述响应体是服务器回写给客户端的页面正文,客户端可通过浏览器将正文加载到内存,然后解析渲染,显示页面内容。
81.不难理解,所述请求数据及响应数据包含的十分有助于复现相应的用户反馈的问题的关键数据例如请求来源路径、请求路径等等,亦存在大量相应的冗余数据例如客户端的浏览器支持的数据压缩格式等等,据此,需要对所述拦截的请求数据及响应数据进行过滤,过滤各自相应的冗余数据,具体实现参考后续部分实施例相关揭示,本步骤暂且不表。
82.步骤s1120、响应所述录制数据相对应的录制结束事件,从存储中获取录制前预设时长内至录制结束过程中相应的请求数据及响应数据,获得请求响应数据。
83.当用户在页面上触控录制控件,开始录制遇到问题时在页面上的操作,直至操作完成可触控录制结束控件,此时,监听到录制结束事件发生,由于导致问题发生的相关操作不一定能够被录制到,故而不但是从存储中获取录制过程中的请求数据及响应数据,而且一并获取相应录制前预设时长内的,以使得能够更完整的复现导致问题发生的后台数据,而有助于分析定位问题。以所述获取的请求数据及响应数据构成请求响应数据。
84.本实施例中,通过拦截页面上用户执行操作而产生的请求数据和响应数据进行过滤处理,获取处理后的录制前预设时长内至录制结束过程中相应的请求数据及响应数据构成请求响应数据,大大减轻对请求响应数据的存储负载及传输负载,也有利于阅读,提高分析定位问题的效率,较为完整获得复现导致问题发生相关的后台数据,使得能够充分复现问题。
85.请参阅图4,进一步的实施例中,步骤s1110、对所述拦截的请求数据及响应数据进行预处理,包括如下步骤:
86.步骤s1111、根据所述响应数据中的状态码,确定出所述请求数据及响应数据中异常的请求数据及响应数据,标记所述异常的请求数据及响应数据;
87.所述状态码包含200:请求成功、302:请求重定向、304:请求资源没有改变,访问本地缓存、404:请求资源不存在,通常是用户路径编写错误,也可能是服务器资源已删除、500:服务器内部错误,通常程序抛异常。据此,可根据状态码而确定出所述异常的请求数据及响应数据,从而相应生成这些异常的请求数据及响应数据各自对应的唯一标识符作为标记。
88.步骤s1112、根据预设条件过滤所述拦截的请求数据中的部分数据,及响应数据中的部分数据;
89.可预设过滤规则对所述请求数据及响应数据进行过滤,针对请求头和响应头,由于对应的信息均是以键值对(key:va l ue)表示,故而可设定部分key,过滤包含这部分key的键值对。针对请求方式是post时对应的请求头可无需对该请求头进行过滤,针对请求方式是get时对应的请求头可过滤其中的url地址保留剩余参数。针对响应体,可设定部分html标签,过滤这些htm l标签及其包含的内容,所述部分html标签、部分key可由本领域技术人员按这些参数对应的数据是否属于无助于复现用户遇到的问题的冗余数据,而相应按需设定。
90.本实施例中,揭示了对请求数据及响应数据的过滤操作实现,以及标记异常的请求数据及响应数据,有助于提升分析定位问题的效率。
91.请参阅图5,进一步的实施例中,步骤s1100、响应数据获取请求之前,还包括如下步骤:
92.步骤s1000、响应操作录制请求,序列化获得当前录制页面的初始文档对象模型树快照及录制过程中构造的增量快照作为录制数据;
93.当用户在页面上触控录制控件,生成操作录制请求发送至服务器。服务器接收所述操作控制请求并对其进行响应,具体而言,使用rrweb直接调用一系列已经封装好的webap i进行页面上用户执行的操作捕获,更加方便快捷。rrweb会把dom(document object mode l,简称dom,前端页面结构)进行一次性快照(初始值记录),获得当前录制页面的初始文档对象模型树快照,继而对当前录制页面的后续变化按时序进行快照,获得增量快照。所述初始文档对象模型树快照及增量快照为序列化后的数据,该数据格式为json(一种数据交换格式)。
94.在最开始的时候,执行主体可以将dom树进行一个快照(实际上是在记录dom树在各个时间点上的状态,在rrweb中称1次这样的状态记录为1个快照),往后所有的dom变化进行一个d i ff(用来比较两个文本文件的差异,并得到差异结果表示),得到增量快照,从而实现每一数据帧dom的绘制。
95.所述web ap i指的是在使用javascr i pt编写web代码时,有web api可供调用,这些api可以获取页面中许多的事件,比如dom变化、点击事件、上传文件事件等。具体地,dom变化,还可以包括:节点创建、销毁;节点属性变化;文本变化;鼠标交互;页面或元素滚动;视窗大小改变;输入;鼠标移动(特指鼠标的视觉位置)等变化。
96.进一步的实施例中,由于所述录制数据为json数据,据此,可对其中的敏感信息进行脱敏处理,例如用户输入的隐私个人信息打码或剔除、涉及资金交易信息打码或剔除等等,以使能够保障相应的敏感信息的安全,继而对处理后的录制数据进行压缩,以使减少后续传输负载及存储负载,而且相比于rrweb的压缩算法对json数据的每条数据进行压缩,本实施例中的实现,直接对整个json文件的压缩,能够避免性能的损失。
97.步骤s1010、响应反馈提交请求,获取经所述用户反馈入口编辑的描述文本,与所述录制数据共同构成用户反馈数据。
98.用户可触控弹窗中提交控件,由客户端生成反馈提交请求提交至服务器,以提交所述描述文本及录制数据,服务器接收所述反馈提交请求,获得所述描述文本和录制数据构成用户反馈数据。
99.本实施例中,揭示了录制用户在页面上执行的操作获得相应的录制数据的过程,相比于生成每一时刻的数据帧dom对应的快照作为录制数据,本实施例的实现方式,减少对分段录制数据的存储负载及传输负载,能够大大提升传输效率。
100.请参阅图6,进一步的实施例中,步骤s1300、基于所述用户反馈数据及请求响应数据构建通知信息,将其发送至预设的消息端,包括如下步骤:
101.步骤s1310、将所述用户反馈数据中的录制数据及所述请求响应数据中各自的时间戳的对应关系建立关联,而获得播放数据;
102.本领域技术人员应当知晓,基于rrweb构建的录制数据具备时序性,所述请求响应
数据同样具备时序性,据此,将所述用户反馈数据中的录制数据及所述请求响应数据,于相应在录制过程中的各自时间戳,可建立录制数据与相应的请求响应数据之间的关联,然后,以所述录制数据及请求响应数据作为播放数据。
103.所述请求响应数据中包含请求数据及响应数据产生时对应的时间戳,而所述录制数据的时间戳可在获得每个快照过程中,同步获取每个快照对应的时间戳,为录制过程中的每个时间点对应的快照进行标记。
104.步骤s1320、存储所述播放数据并生成所述播放数据的访问链接;
105.将所述播放数据存储,进一步为了减轻所述播放数据的传输负载,以便于保障传输播放数据的及时性及较少网络欠佳而网速较低丢包的可能性,生成该播放数据的访问链接。
106.步骤s1330、基于所述播放数据的访问链接及所述用户反馈数据中的描述文本构造通知信息,调用预封装的消息通知接口发送所述通知信息。
107.基于所述用户反馈数据中的描述文本、所述播放数据的访问链接构建通知信息,例如将描述文本作为通知信息的标题文本,将访问链接作为通知信息的内容。可基于所需发送到的消息端预先封装消息通知接口,以将所述通知信息发送至相应的消息端,所述消息端包含但不限于手机短信、邮箱、提供即时通讯服务的应用程序。
108.本实施例中,揭示了通知信息的构建,以及将通知消息发送至预设的消息端,使得用户反馈的前端数据及相应产生的后台数据能够被发送至消息端,完成用户反馈的整个流程的闭环,并且能够保证发送的及时性及有效减少发送的丢包率。
109.请参阅图7,进一步的实施例中,步骤s1330、调用预封装的消息通知接口发送所述通知信息之后,还包括如下步骤:
110.步骤s1331、响应播放请求,读取所述播放数据中的录制数据及请求响应数据;
111.当播放数据的访问链接被触控时,生成播放请求发送至服务器。服务器接收所述播放请求并对其进行响应,从存储中读取所述播放数据中的录制数据及请求响应数据。
112.步骤s1332、在场景还原区域中根据所述录制数据中的快照还原出录制过程中的对应页面;
113.请参阅图8所示,在场景还原区域800中根据所述录制数据中的快照进行录制回放,具体而言,执行主体可以使用iframe加载记录的dom结构,逐帧还原用户的实际操作,模拟用户的实际操作效果。得到的d i ff将会和初始的dom(前端页面结构)进行对比。录制回放实则是记录dom(前端页面结构),后续进行还原的方式。
114.步骤s1333、在数据区域中加载与被还原的所述录制过程的时间戳相对应的请求响应数据。
115.请参阅图8所示,在数据区域中801中被还原的录制数据对应的所述录制过程的时间戳,对关联该时间戳的请求响应数据进行可视化显示,可以理解,所述数据区域及所述场景还原区域可以是在一个预设的前端页面中加载而可视化显示的,据此,可设置相应的显示样式,具体可由本领域技术人员按需设定相应的页面样式代码,因此,针对相应的异常的请求响应数据在所述数据区域显示的样式,可区别于无异常的请求数据在所述数据区域显示的样式,通过判定请求响应数据是否存在对应的因其异常而标记的唯一标识,当存在时,相应的异常的请求响应数据可为“红色”字体,当不存在异常时,相应的无异常的请求数据
可为“黑色”字体。
116.此外,针对录制过程以外的请求响应数据,本领域技术人员可按需灵活在数据区域中显示。
117.本实施例中,揭示了播放数据中的录制数据及请求响应数据对应的可视化显示,能够有效同步可视化回放前端页面上的用户执行的操作,以及相应的后台请求数据及响应数据,高度复现问题发生场景,有助于分析定位问题。
118.请参阅图9,适应本技术的目的之一而提供的一种用户反馈装置,是对本技术的用户反馈方法的功能化体现,该装置包括页面反馈模块1100、数据获取模块1200及通知发送模块1300,其中,页面反馈模块1100,用于响应页面加载请求,在页面上显示用户反馈入口;数据获取模块1200,用于响应数据获取请求,获取经所述用户反馈入口提交的用户反馈数据及请求响应数据进行存储,所述用户反馈数据包含描述文本和录制数据,所述录制数据为录制用户在页面上执行的操作而得的预设数据交换格式数据,所述请求响应数据为录制前预设时长内至录制结束过程中,用户在页面上执行操作而产生的请求数据及响应数据;通知发送模块1300,用于基于所述用户反馈数据及请求响应数据构建通知信息,将其发送至预设的消息端。
119.进一步的实施例中,所述页面反馈模块1100之后,还包括:请求响应拦截模块,用于拦截页面上用户执行操作而产生的请求数据和响应数据,对所述拦截的请求数据及响应数据进行预处理,将预处理后的请求数据及响应数据进行存储;请求响应获取模块,用于响应所述录制数据相对应的录制结束事件,从存储中获取录制前预设时长内至录制结束过程中相应的请求数据及响应数据,获得请求响应数据。
120.进一步的实施例中,所述请求响应拦截模块,包括:异常标记子模块,用于根据所述响应数据中的状态码,确定出所述请求数据及响应数据中异常的请求数据及响应数据,标记所述异常的请求数据及响应数据;数据过滤子模块,用于根据预设条件过滤所述拦截的请求数据中的部分数据,及响应数据中的部分数据;
121.进一步的实施例中,所述页面反馈模块1100之前,还包括:录制获取模块,用于响应操作录制请求,序列化获得当前录制页面的初始文档对象模型树快照及录制过程中构造的增量快照作为录制数据;用户反馈构造模块,用于响应反馈提交请求,获取经所述用户反馈入口编辑的描述文本,与所述录制数据共同构成用户反馈数据。
122.进一步的实施例中,所述通知发送模块1300,包括:数据构建子模块,用于将所述用户反馈数据中的录制数据及所述请求响应数据中各自的时间戳的对应关系建立关联,而获得播放数据;链接生成子模块,用于存储所述播放数据并生成所述播放数据的访问链接;通知发送子模块,用于基于所述播放数据的访问链接及所述用户反馈数据中的描述文本构造通知信息,调用预封装的消息通知接口发送所述通知信息。
123.进一步的实施例中,所述通知发送子模块之后,还包括:数据读取子模块,用于响应播放请求,读取所述播放数据中的录制数据及请求响应数据;录制回放子模块,用于在场景还原区域中根据所述录制数据中的快照还原出录制过程中的对应页面;数据回放子模块,用于在数据区域中加载与被还原的所述录制过程的时间戳相对应的请求响应数据。
124.进一步的实施例中,所述录制获取模块之后,还包括:后处理子模块,用于对所述录制数据中的敏感信息进行脱敏处理,压缩处理后的录制数据。
125.为解决上述技术问题,本技术实施例还提供计算机设备。如图10所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种用户反馈方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本技术的用户反馈方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
126.本实施方式中处理器用于执行图9中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本技术的用户反馈装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
127.本技术还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本技术任一实施例的用户反馈方法的步骤。
128.本领域普通技术人员可以理解实现本技术上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-on l y memory,rom)等计算机可读存储介质,或随机存储记忆体(random access memory,ram)等。
129.综上所述,本技术基于前端页面的用户执行操作及相应的后台请求数据及响应数据的可视化显示,能够完整地复现用户反馈的问题,从而有效将其解决,提高处理用户反馈信息的服务水平。
130.本技术领域技术人员可以理解,本技术中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本技术中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本技术中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
131.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1