会话文件的处理方法、装置、设备及介质与流程
本技术涉及计算机,尤其涉及一种会话文件的处理方法、装置、设备及介质。
背景技术:
1、在企业级web应用中,对用户操作行为的会话文件进行完整录制和回放是优化用户体验、追踪异常操作及满足监管要求的关键手段。
2、现有的会话文件的处理方法主要包括基于文档对象模型(document objectmodel, dom)与增量变更的录制方法,即客户端调用record()函数启动录制,生成完整快照变更事件和增量快照变更事件,然后对变更事件进行全量压缩或直接以原始json格式通过超文本传输协议(hypertext transfer protocol, http)请求将其实时或批量上传至服务端。回放时,一次性拉取全部变更事件(若为压缩数据则先解压),交给播放器按序重放。
3、然而,对变更事件的全量压缩处理或不压缩处理导致现有会话文件的处理方法在存储效率与查询性能之间始终处于此消彼长的两难境地。
技术实现思路
1、本技术提供一种会话文件的处理方法、装置、设备及介质,以解决现有技术中会话录制文件数据传输可靠性与存储查询效率难以兼顾的技术问题。
2、第一方面,本技术实施例提供一种会话文件的处理方法,包括:
3、响应于用户触发的会话页面的录制请求,获取所述会话页面的路径信息;
4、基于所述路径信息,采集所述会话页面的文档对象模型dom变更事件;其中,所述dom变更事件包括所述会话页面对应的页面dom树节点的变化或光标变化,所述节点对应所述会话页面中的页面要素,所述页面要素包括文本框、按钮、图片、列表、弹窗或容器节点中的至少一种;
5、对所述dom变更事件进行选择性字段压缩处理,得到压缩文件;其中,所述选择性字段压缩处理包括仅对所述dom变更事件中的data字段进行压缩,所述data字段用于承载所述dom变更事件的具体变更内容;
6、响应于用户触发的会话页面的录制结束请求,将所述压缩文件作为会话录制文件上传至服务端。
7、在一种可能的实施方式中,所述基于用户触发的会话页面录制结束请求,将所述压缩文件作为会话录制文件上传至服务端,包括:
8、响应于所述录制结束请求,将所述压缩文件存储于预先配置的缓冲区;
9、在所述缓冲区中的压缩文件数量大于或等于预设阈值时,通过目标传输通道将所述会话录制文件上传至所述服务端。
10、在一种可能的实施方式中,所述方法还包括:
11、若所述缓冲区中的压缩文件的字节长度小于预设载荷阈值,则将sendbeacon通道确定为所述目标传输通道;
12、若所述字节长度大于或等于所述预设载荷阈值,或者,通过所述sendbeacon通道传输会话录制文件失败时,则将post通道确定为所述目标传输通道。
13、在一种可能的实施方式中,在基于所述路径信息,采集所述会话页面的dom变更事件之前,所述方法还包括:
14、基于预先获取的路径信息库对所述路径信息进行校验处理,得到校验结果;
15、在所述校验结果为通过时,采集所述dom变更事件以及所述会话页面对应的页面快照属性信息;
16、其中,所述路径信息库包括多个黑名单路径信息与白名单路径信息,所述黑名单路径信息用于指示禁止采集dom变更事件的页面路径,所述白名单路径信息用于指示允许采集dom变更事件的页面路径;所述页面快照属性信息包括所述会话页面的统一资源定位符url、显示所述会话页面的设备屏幕尺寸以及用于访问所述会话页面的用户代理信息。
17、在一种可能的实施方式中,所述基于预先获取的路径信息库对所述路径信息进行校验处理,得到校验结果,包括:
18、若所述路径信息命中至少一个白名单路径信息,且未命中任一黑名单路径信息,则确定所述校验结果为通过;
19、若所述路径信息命中至少一个黑名单路径信息,或者,未命中任一白名单路径信息,则确定所述校验结果为不通过。
20、在一种可能的实施方式中,所述方法还包括:
21、在采集所述dom变更事件的过程中,获取所述dom变更事件的可见时长以及总会话时长;
22、其中,所述可见时长用于指示所述会话页面在处于前台激活状态期间的累计时长,所述总会话时长用于指示开始采集所述dom变更事件至获取到所述录制结束请求之间的时长。
23、在一种可能的实施方式中,在所述会话录制文件上传至服务端后,所述方法还包括:
24、若所述缓冲区中的压缩文件数量小于预设数量阈值,则删除所述压缩文件。
25、在一种可能的实施方式中,所述方法还包括:
26、响应于用户触发的会话录制文件的回放请求,基于所述可见时长以及所述总会话时长计算得到回放倍速;
27、基于所述回放倍速将所述总会话时长切分为多个时间段;
28、对每个时间段对应的会话录制文件进行并行解压处理,得到多个解压文件,并基于所述多个解压文件对所述会话录制文件进行可视化回放。
29、在一种可能的实施方式中,所述基于所述回放倍速将所述总会话时长切分为多个时间段,包括:
30、基于所述回放倍速对预设的基础时间窗口长度进行缩放处理,得到目标时间窗口长度;
31、通过所述目标时间窗口长度对所述总会话时长进行切分,得到所述多个时间片段。
32、在一种可能的实施方式中,所述dom变更事件还包括事件类型和时间戳,所述基于所述多个解压文件进行可视化回放,包括:
33、按照时间戳对所述多个解压文件进行升序排列,得到合并事件序列;
34、将所述合并事件序列加载至预先实例化的回放播放器中,以对所述会话录制文件执行可视化回放。
35、第二方面,本技术实施例提供一种会话文件的处理装置,包括:
36、第一处理模块,用于响应于用户触发的会话页面的录制请求,获取所述会话页面的路径信息;
37、第二处理模块,用于基于所述路径信息,采集所述会话页面的文档对象模型dom变更事件;其中,所述dom变更事件包括所述会话页面对应的页面dom树节点的变化或光标变化,所述节点对应所述会话页面中的页面要素,所述页面要素包括文本框、按钮、图片、列表、弹窗或容器节点中的至少一种;
38、第三处理模块,用于对所述dom变更事件进行选择性字段压缩处理,得到压缩文件;其中,所述选择性字段压缩处理包括仅对所述dom变更事件中的data字段进行压缩,所述data字段用于承载所述dom变更事件的具体变更内容;
39、第四处理模块,用于响应于用户触发的会话页面的录制结束请求,将所述压缩文件作为会话录制文件上传至服务端。
40、在一种可能的实施方式中,所述第四处理模块具体用于:
41、响应于所述录制结束请求,将所述压缩文件存储于预先配置的缓冲区;
42、在所述缓冲区中的压缩文件数量大于或等于预设阈值时,通过目标传输通道将所述会话录制文件上传至所述服务端。
43、在一种可能的实施方式中,所述装置还包括第五处理模块,用于:
44、若所述缓冲区中的压缩文件的字节长度小于预设载荷阈值,则将sendbeacon通道确定为所述目标传输通道;
45、若所述字节长度大于或等于所述预设载荷阈值,或者,通过所述sendbeacon通道传输会话录制文件失败时,则将post通道确定为所述目标传输通道。
46、在一种可能的实施方式中,所述装置还包括第六处理模块,用于:
47、基于预先获取的路径信息库对所述路径信息进行校验处理,得到校验结果;
48、在所述校验结果为通过时,采集所述dom变更事件以及所述会话页面对应的页面快照属性信息;
49、其中,所述路径信息库包括多个黑名单路径信息与白名单路径信息,所述黑名单路径信息用于指示禁止采集dom变更事件的页面路径,所述白名单路径信息用于指示允许采集dom变更事件的页面路径;所述页面快照属性信息包括所述会话页面的统一资源定位符url、显示所述会话页面的设备屏幕尺寸以及用于访问所述会话页面的用户代理信息。
50、在一种可能的实施方式中,所述第六处理模块具体用于:
51、若所述路径信息命中至少一个白名单路径信息,且未命中任一黑名单路径信息,则确定所述校验结果为通过;
52、若所述路径信息命中至少一个黑名单路径信息,或者,未命中任一白名单路径信息,则确定所述校验结果为不通过。
53、在一种可能的实施方式中,所述装置还包括第七处理模块,用于:
54、在采集所述dom变更事件的过程中,获取所述dom变更事件的可见时长以及总会话时长;
55、其中,所述可见时长用于指示所述会话页面在处于前台激活状态期间的累计时长,所述总会话时长用于指示开始采集所述dom变更事件至获取到所述录制结束请求之间的时长。
56、在一种可能的实施方式中,所述装置还包括第八处理模块,用于若所述缓冲区中的压缩文件数量小于预设数量阈值,则删除所述压缩文件。
57、在一种可能的实施方式中,所述装置还包括第九处理模块,用于:
58、响应于用户触发的会话录制文件的回放请求,基于所述可见时长以及所述总会话时长计算得到回放倍速;
59、基于所述回放倍速将所述总会话时长切分为多个时间段;
60、对每个时间段对应的会话录制文件进行并行解压处理,得到多个解压文件,并基于所述多个解压文件对所述会话录制文件进行可视化回放。
61、在一种可能的实施方式中,所述第九处理模块具体用于:
62、基于所述回放倍速对预设的基础时间窗口长度进行缩放处理,得到目标时间窗口长度;
63、通过所述目标时间窗口长度对所述总会话时长进行切分,得到所述多个时间片段。
64、在一种可能的实施方式中,所述dom变更事件还包括事件类型和时间戳,所述第九处理模块具体还用于:
65、按照时间戳对所述多个解压文件进行升序排列,得到合并事件序列;
66、将所述合并事件序列加载至预先实例化的回放播放器中,以对所述会话录制文件执行可视化回放。
67、第三方面,本技术实施例提供一种电子设备,包括:存储器,处理器;
68、所述存储器存储计算机执行指令;
69、所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上第一方面和/或第一方面各种可能的实施方式。
70、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上第一方面和/或第一方面各种可能的实施方式。
71、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面和/或第一方面各种可能的实施方式。
72、本技术提供的一种会话文件的处理方法、装置、设备及介质,通过在用户触发的会话页面的录制请求后,获取会话页面的路径信息;随后基于路径信息,采集会话页面的包括页面dom树节点(节点对应会话页面中的页面要素,如文本框、按钮、图片、列表、弹窗或容器节点等)的变化或光标变化的dom变更事件;然后对dom变更事件进行选择性字段压缩处理,也即仅对dom变更事件中的data字段进行压缩得到压缩文件。最后,在用户触发的会话页面的录制结束请求后,将压缩文件作为会话录制文件上传至服务端。通过上述方法,对dom变更事件中的data字段进行选择性压缩,而非对事件整体进行全量压缩,在显著降低数据体积与传输开销的同时,保留了事件类型、时间戳等关键元数据的明文可读性,使得服务端能够继续利用这些元数据字段建立索引以支持高效检索,从而有效兼顾了存储效率与查询性能。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com