浅谈用户体验可视化技术要点
2018-04-17何映军
何映军
(云南电网有限责任公司信息中心,云南昆明,650206)
1 用户体验可视化系统概述
应用系统业务交易若想实现用户体验可视化,就需要借助APM技术进行二次性能开发,APM平台提供的API接口能够为系统平台收集所需信息,并将收集到的数据信息及时推送过来,利用Kafka集群模块实现数据信息的及时存储。存储信息在Storm集群的计算、统计下得到所需展示结果,并将处理结果及时上传至关系数据库。用户显示界面通过定期刷新操作从关系数据库中提取并显示计算出的数据信息。用户若是想要查看详细数据信息,可以在分布式文件系统中进行检索查找。系统监控过程需要将人员关系与业务流程进行内部结合,同时还需做好外部系统的集成工作。用户体验可视化系统需要建立模块化的分层逻辑结构,就技术层面而言需要涵盖数据采集、数据处理、数据存储及数据展示几项功能。
2 用户体验可视化技术要点
2.1 数据采集技术
伴随科技的发展进步,APM系统得到了完善深化,其探针数量呈现逐渐增多的趋势。为了适应全量数据的使用要求,APM系统的探针采集数据量及并发量也呈现逐渐增多的趋势,但是如何处理好高并发数据关系,成为研究界需要重点解决的问题。本系统的数据采集技术主要建立在分布式计算框架Storm的基础上,通过对采集数据的系统处理,有效降低庞大数据信息给单台服务器带来的压力。通过采集系统获得的数据信息借助Kafka消息中间件实现及时存储的目的,以便于为用户操作轨迹识别及用户标识抓取提供数据支持。
2.2 消息中间件技术
消息中间件系统主要使用可靠的消息传递机制来实现平台无关数据的分析处理。消息中间件技术适用于需要可靠数据传输的分布式环境,并且可以实现不同对象之间的消息传递与行为激活操作。具体流程为:发送者将数据消息发送至消息服务器,消息服务器将数据消息存放在某个队列中,并选取合适时机将上述数据消息转发给接收者。消息中间件技术之所以能够穿梭于各种平台通信系统,主要是因为该技术具有屏蔽各种平台和协议的作用,能够实现各种应用之间的协调管理。
2.3 可视化拓展技术
可视化拓展技术主要涵盖了数据可视化及界面可定制化两方面内容,其中信息可视化技术具有将结构、非结构数据转换成适当可视化图表的作用,从而实现将隐藏数据信息直接展现在用户面前的目的。数据可视化图表种类繁多,功能各异,可以满足不同系统的展示需求。界面可定制化技术能够实现当前报表功能的优化处理,集中整合当前各种数据展示图表,有效提高用户关注度,同时还能满足不同用户的报表界面自定义设置要求。报表界面自定义设置主要涵盖配置界面展示模块内容定义及配置模块展示数据定义两方面内容。
2.4 数据推送技术
对于普通监控数据而言,设计人员可以设定每几分钟刷新一次的操作,但是这个操作无法满足异常状况的基本需要,还需将数据信息实时发送到终端界面,以便运维人员能够及时发现、解决问题。使用HTML5定义的WebSocket协议,可以节省服务器资源和带宽,实现实时推送的目的。WebSocket协议本质上是一个TCP协议,由通信协议和编程API组成,从而赋予浏览器实时通信的能力。客户端和服务器通过这个连接通道自由地传递信息,并且这个连接通道会一直持续到某一方主动关闭连接为止。
2.5 数据存储技术
监控数据作为宝贵的数据资产,是衡量系统运行健康状况的最直观指标,通过对监控数据的展示、运算与分析,有助于及时发现系统运行薄弱环节、性能瓶颈及系统漏洞。实时监控数据指的是正在运行的系统、服务器某一时刻的运行状态信息,一旦系统存在异常现象,可视化系统就能发现实时异常数据并对这个异常信号做出适宜响应。缓存数据指的是无需长久保存的数据,可能是某些数据运算过程中产生的中间数据,具有数据周期较短的特点。在数据采集平台中,实时数据和缓存数据由内存数据库进行维护管理的。当采集到的数据能够满足运算、分析要求时,实时处理模块就会对相应数据进行运算分析,并将分析结果放到前台进行展示,同时发送相应的实时报警信息。
2.6 功能建模技术
功能建模技术主要用于对APM采集数据的分析整理,APM能对一个或多个应用过程进行数据信息采集,从而实现用户标识或时间戳的抓起操作。设计师可以在业务系统中建立一个测试帐号,并将操作处理间隔设定为2min,从而确保自动识别操作的准确性、及时性。具体操作流程为:设计人员将业务系统全部功能录入监控平台之中,并将可供识别到的应用过程与人工方式进行有机结合,以便于在某组应用过程被调用的时候,准确找出所被调用功能的具体信息,进而实现业务监控的目的。
2.7 轨迹识别技术
随着我国电网公司对于监控业务需求的不断升级,地区电网在满足日常监控需求的前提下,还需具备用户操作轨迹自动识别功能。目前的应用系统具备用户标识抓取功能,能够及时获取各条数据的时间戳,帮助服务器端明确特定用户在某个时间节点进行了哪项应用操作,进而完成功能建模及数据识别工作。最后通过对这些应用过程与系统功能的整合研究,有助于服务器端实现对用户操作轨迹的系统识别与记录。
2.8 全栈溯源技术
全栈溯源用于准确定位复杂的应用程序环境,并且可以有效地确定网络、移动设备、浏览器及服务器上的性能问题出现位置及原因。同时具有降低跨部门排障沟通成本,实现完整业务调用链的实时跟踪。全栈溯源技术能够发挥如下功能:从网络到服务端的性能溯源;从浏览器端到服务端的性能溯源;跨服务器、跨语言、跨应用程序的性能追踪。全栈溯源技术的合理运用能够完成端到端的整体监控,一旦发生故障,服务器端能够根据监控数据,分析研究具体问题出现区域,甚至能定位具体的服务器代码。